Ann: HAllInOne bug fix release

Hal Daume III hdaume@ISI.EDU
Wed, 30 Jul 2003 14:36:25 -0700 (PDT)


Hi Fellow Haskellers,

I normally wouldn't send out bug fix notifications, but there has been an
update to HAllInOne (http://www.isi.edu/~hdaume/HAllInOne/), which fixes 
two major bugs:

  - recursive modules now work correctly
  - proper separation of type and value environments

The reason I'm posting is because these fixes have enabled me to
All-In-One-ify the NHC Haskell Compiler.  This results is about 44k lines
of code in a single, 1.6mb module, which can then be compiled with your
favorite Haskell compiler (provided you have a lot of RAM).

A few people have asked me for speed-up results from All-In-One-ifying
code, so here's a good one.  We take two versions of NHC.  One is the
original binary distribution and the other is the All-In-One-ified
version, compiled by GHC.

We then ask each of these compilers to compile a large program (I didn't
bother making it link it -- that seemed too tangential).  The large
program I asked these two compilers to compile was, not surprisingly, the
All-In-One NHC source code :).

The timing results are:

Normal NHC:
real    3m14.295s
user    3m9.879s
sys     0m2.143s

All-In-One NHC:
real    1m11.380s
user    0m10.102s
sys     0m1.711s

So there's definitely a speedup.

I will make further speedup posts directly to the web page instead of the
mailing list.

 - Hal

p.s., for extra fun, google for "Haskell Modules" and look to the right
:).