recursive modules in Haskell
Iavor S. Diatchki
diatchki@cse.ogi.edu
Mon, 17 Mar 2003 14:41:26 -0800
hi,
i can't really argue with simon he is the real compiler expert.
and i am not familiar with the inner workings of GHC, so my argument is
even weaker. and in any case discussions on the haskell mailing list
very rarely have any effect except for their entertainment value during
boring meetings... so if you are sitting bored somewhere read on :-)
in my defence, we do have recursive modules implemented in our front
end, and it can do type checking (which is presumably where the
difficulties with recursive modules arise). and implementing the
recursive modules was definitely not the hardest part to get working.
.hi-boot files indeed do the job. so do seq, the monomorphism
restriction, defaulting and unsafePerformIO. it is just that they don't
do the job very well.
i am curious however, what is difficult about implementing recursive
modules (that is, if it can be explained without getting into the
technical details of GHC).
bye
iavor
Simon Peyton-Jones wrote:
> | there is no need to use such hacks. it is not dificult to add suport
> | for mutually recursive modules to an implementation directly.
> | unfortunatley none of the working haskell implementations support
> | recursive modules,
>
> Simple in principle, not so simple in practice. If it was easy to make
> GHC do mutually recursive modules we'd do it right away. It's certainly
> possible but it's real work, and .hi-boot files, while clunky, do the
> job.
>
> S
>
--
==================================================
| Iavor S. Diatchki, Ph.D. student |
| Department of Computer Science and Engineering |
| School of OGI at OHSU |
| http://www.cse.ogi.edu/~diatchki |
==================================================