RE: [Haskell] Expecting more inlining for bit shifting

2006-10-10 Thread roconnor
As an experiment, I tried the following modification of my code module Test where import GHC.Word import GHC.Base import GHC.Prim a `shiftRLT` b | b >=# 32# = int2Word# 0# | otherwise = a `uncheckedShiftRL#` b (W32# x#) `shift` (I# i#) = {- we do an actual case analysis on i# to

reading imports from .hi files?

2006-10-10 Thread Bulat Ziganshin
Hello Duncan, Monday, October 9, 2006, 9:52:34 PM, you wrote: >> >>> A simple script for the pgmF command >> >> May it be that import chasing takes longer now? I noticed quite a gap >> before ghc started to compile my 624 modules. > Yes, since it has to run the pre-processor before it can look a

RE: [Haskell] Expecting more inlining for bit shifting

2006-10-10 Thread roconnor
On Tue, 10 Oct 2006, Simon Peyton-Jones wrote: That's precisely what GHC does. My explanation before was too brief, sorry. The algorithm is described in "Secrets of the GHC inliner" http://research.microsoft.com/%7Esimonpj/Papers/inlining/index.htm But it still only makes a specialised copy i

RE: [Haskell] Expecting more inlining for bit shifting

2006-10-10 Thread Simon Peyton-Jones
| I would have imagined an optimisation step that only activates when a | constructor is passed into a function to see if it produces a branch that | can be precomputed, and then tries to determine if it is worth making a | specialized function with that case eliminated. Or possibly having each |