Re: [GHC] #7730: :info and polykinds

#7730: :info and polykinds --------------------------------------------+------------------------------ Reporter: monoidal | Owner: archblob Type: bug | Status: new Priority: normal | Milestone: 7.10.1 Component: Compiler (Type checker) | Version: 7.6.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Test Case: | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: #8776 --------------------------------------------+------------------------------ Comment (by simonpj): Some responses * On the `IfaceTcArg` thing (comment 35), I suggested a whole new list type because it'll be more compact and faster to parse in interface files. Rather than two bytes and two decisions (nil/cons, and type/kind) there'll just be one. But the data type would need a Note to explain that reasoning. * On the qualified names point (also comment 35), I can see that `IfaceDecl`s only have an `OccName` in them because interface declarations "know" their host module. That's no longer true when converting arbitrary `TyThings` to `IfaceSyn`. So the `ifName` field of `IfaceDecl` will have to become `IfExtName`. Probably not too bad. * Re promotion (comment 36), yes I agree. All of these things will make interface files a little more verbose. It probably won't have any effect, but could you do some performance checks? With these changes alone: * Measure the effect on `.hi` file sizes for libraries (eg `base`) * Measure the effect on compile times (or, easier to get at, compiler allocation), say when bootstrapping GHC, or compiling the base libraries. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7730#comment:37 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC