Unexpected lack of optimisation

Simon Peyton-Jones simonpj at microsoft.com
Wed Apr 30 03:12:24 EDT 2008

| It worked, with:
| {-# INLINE [1] begin1 #-}
| {-# INLINE begin2 #-}
| I don't think this approach will compose particularly well, and in the
| real case I was trying (not this reduced example) I don't think it
| will work because there is some recursion and RULES involved. I'll
| have another go with the full example in future.

I agree it's not great.  But I just don't have a better idea at the moment. In the general case I showed, it seems hard to know what to do.  Perhaps there are better rules for special cases. If you have good ideas, I'm all ears!

| I did however notice an issue while doing this work - in GHC 6.8.2 and
| HEAD from Christmas.
| {-# INLINE begin2
| #-}
| Temp.hs:7:1: lexical error at character '}'

Layout applies inside pragmas, so you may need a space before the #-}. The error message is unhelpful. I'll fix the manual


More information about the Glasgow-haskell-users mailing list