RE: Unexpected lack of optimisation

2008-04-30 Thread Simon Peyton-Jones
| 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

RE: Unexpected lack of optimisation

2008-04-30 Thread Sittampalam, Ganesh
Simon Peyton Jones wrote: | 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

RE: Unexpected lack of optimisation

2008-04-30 Thread Simon Peyton-Jones
| The situation in Neil's code is almost identical, except that the | top-level case expression is on a value passed by environment, not by | function argument. Interesting thought. I think you're describing a possible extension to the SpecConstr transformation described in Call pattern

RE: Optimisation of unpackCString#

2008-04-30 Thread Simon Peyton-Jones
| One of my ideas was some RULES that expand: | | test x | neil `isPrefixOf` x = ... | | ned `isPrefixOf` x = ... You might want to be careful about this, because you could really get a *lot* of code this way. | Simon: I will email you in a couple of weeks to discuss it. Great,

Re: Unexpected lack of optimisation

2008-04-30 Thread Neil Mitchell
Hi Yes, something like that is exactly what I'd like to do. I'm somewhat hopeful that we might manage this as part of Max Bolingbroke's SoC project, if it's approved. Hmmm, I thought it had been approved. Was I mistaken? Yes, it has been approved.

installing all of hackage

2008-04-30 Thread Duncan Coutts
All, We're getting nearer to being able to use cabal-install to install all of hackage for us. :-) I did a run this evening: $ cabal install -O0 $(cat pkgs) which is a list of 485 packages. I had to prune this list manually to eliminate the ones that have unsatisfiable dependencies (about 10).