Browse thread
RE: first class, recursive, mixin modules (was: RE: first class m odules)
- Claudio Russo
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ 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 >