[MLton-user] defunctorization

Sean McLaughlin seanmcl at gmail.com
Tue May 25 11:50:39 PDT 2010


Hi,

  Defunctorization is one of my favorite features of MLton.  I love knowing
that I can use functors with abandon and there will be no runtime
performance penalty (other than that possibly arising from code size.)
 Thanks!

Right now I have a theorem prover for modal logics.  There is only one
theorem prover, but it is parameterized by an algorithm that decides a
visibility relation.  The change of the algorithm is minor, but affects even
the most basic data structures.  I currently have 8 different algorithms for
the 8 logics I'm playing around with.

Unfortunately, this makes my theorem prover take a very long time to
compile.  One logic will compile in about 40 seconds.  With all 8 logics, it
takes over 3 minutes (2 Gh dual-core pentium, 4 GB memory).   This is due to
defunctorization, right?  Is there any way to turn that off when I'm
debugging, and turn it on again for production compilation?  I tried mlton
-expert true --help but didn't see anything.  I figure the answer is no, but
just thought I'd ask, in case you guys have any ideas for me.

Thanks!

Sean
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mlton.org/pipermail/mlton-user/attachments/20100525/e42edb9b/attachment.html


More information about the MLton-user mailing list