[MLton] Bug#220046: mlton: Build-Depends on itself
Stephen Weeks
sweeks@sweeks.com
Tue, 11 Nov 2003 09:38:16 -0800
Hi Aaron. As the maintainer of the Debian smlnj package, I have a
question for you. Does smlnj build-depend on itself? If not, how
does it build from source?
I ask because the MLton package build-depends on itself and I think
that this is the right thing to do, since MLton is written in SML and
therefore requires some SML compiler to build.
Roland Stigge has suggested having MLton build-depend on smlnj instead
of MLton. I think this is a bad idea for many reasons.
* In order to build MLton, we need some SML compiler anyways. Since I
believe SML/NJ must build-depend on itself, it doesn't make the
Debian world significantly less incestuous to remove MLton's build
dependency on itself and replace it with a dependency on another
incestuous compiler.
* A version of MLton compiled by SML/NJ runs *much* more slowly than
one compiled by MLton. So slow that I haven't done a full bootstrap
in years, IIRC. We're talking more than a factor of 5 in time here.
I.E. over an hour instead of 5-10 minutes. This hurts my
development process.
* There are many portability issues in maintaining MLton to run under
both SML/NJ and MLton. So, while we do use an SML/NJ-compiled MLton
for small tests, I am not at all as confident in the stability of an
SML/NJ-compiled MLton as I am a self-compiled MLton.
* Someday, we may drop support for compilation of MLton by SML/NJ.
All in all, it seems like a lot of practical loss for a very
theoretical gain.