Version française
Home     About     Download     Resources     Contact us    
Browse thread
RE: first class, recursive, mixin modules (was: RE: first class m odules)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Claudio Russo <crusso@m...>
Subject: RE: first class, recursive, mixin modules (was: RE: first class m odules)
> On Fri, 12 Jan 2001, Claudio Russo wrote:
> > I wasn't quite sure of your intention, but I did get the 
> attached code
> > to work in Mosml (it includes a port of the Ocaml libraries and a
> > fleshed out implementation of your idea).
> 
> Cool! OK, now Alain has at least one example of a practically 
> useful case
> handled by your scheme :-). I suspect that this problem bites 
> lots of ML 
> programmers, and a fix is eagerly desired by at least two OCaml
> programmers. Congratulations on making this work, the millenium is
> starting off on a great note already!

I'm not really sure it bites that many, but I'd like to be told
otherwise. It does really hit you when  trying to 
implement Chris Okasakis elegant bootstrapped data structures, or
emulate object oriented things with modules.  (Together with first-class
and recursive structure, you can model quite a bit of object oriented
stuff, but I'm not sure how natural or efficient this appproach is.) 
 
> > Unfortunately, this only works in an internal release of 
> Moscow, because
> > of a (known) bug in the current distribution. 
> 
> Well, even more unfortunately, a fix in Mosml doesn't help me 
> unless you
> change to Mosocaml. I couldn't switch to SML even if I wanted 
> to, and I 
> don't want to! Hopefully the OCaml Implementors (you guys are even
> capitalized now) will "borrow back" the Mosml improvements 
> into OCaml. 

If I had the time, I'd do it, but I don't really. It should be easy to
deconstruct the Moscow ML sources
and transplant the ideas to Ocaml (at least to the bytecode
interpreter). I can give pointers to whoever tries to do that.


Cheers,
Claudio

>