Yes, Simon and I talked about this. All the machinery is already in System FC; we just need a suitable source language mechanism for expressing it. It's just that it has not seemed important enough to design and implement, yet. But it's clearly a hole in the current language
Simon | -----Original Message----- | From: [email protected] [mailto:[email protected]] On | Behalf Of Ian Lynagh | Sent: 17 March 2012 15:56 | To: Simon Marlow | Cc: [email protected] | Subject: Re: [commit: hoopl] simonmar-hoopl-opt: Remove layers of newtype in | Unique and Label (3056dec) | | On Thu, Mar 15, 2012 at 06:18:39AM -0700, Simon Marlow wrote: | > | > Remove layers of newtype in Unique and Label | > | > Improves performance due to eliminating some unnecessary maps in | > e.g. mapToList, setToList. This was quite a significant effect in | > GHC. | | It seems a pity we have to do that for performance reasons. | | Would it be possible to instead have a way to write rules something like | | map someCoercion = mkListCoercion someCoercion | | (where mkListCoercion takes a coercion for x~y and gives you a coercion | for [x]~[y])? | | | Thanks | Ian | | | _______________________________________________ | Cvs-ghc mailing list | [email protected] | http://www.haskell.org/mailman/listinfo/cvs-ghc _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
