[Yhc] scons, libs, etc

Neil Mitchell ndmitchell at gmail.com
Tue Jan 16 11:48:16 EST 2007


Hi Lane,

> It seems like a design flaw that Prelude.hs is mutually dependent
> on several other modules.  My work so far has led me to suspect that
> mutually dependent modules are never necessary.  (And always annoying.)

Me and Tom came up with a solution. Write a SuperPrelude, which is the
real (behind the scenes) Prelude. This includes the transitive closure
of the Prelude, i.e. Ratio as well - probably split into separate
files and included via cpp. Then the real Prelude is now a normal
module, which just reexports various bits in SuperPrelude. This kills
all renaming issues and recursive module issues in one step.

We did try this, unfortunately the Yhc renamer is sufficiently broken
that Prelude is a very special module, whose name shall live on
forever. The renamer needs to die.

As for mutually recursive modules, the make system now has support for
compiling them in parallel. The parser can probably cope with this,
but the type checker would die somewhat spectacularly. One day...

Thanks

Neil


More information about the Yhc mailing list