Isn't it a good idea to write the first implementation in a functional
programming language (read the wizard book)? That's what these
platforms are designed for and the constructs are there to help in
designing the thing. Then when you're happy you know what's good and
bad you can re-code it in something that actually runs fast. I'm aware
of a reasonable amount of literature that talks about GC and
interpretation techniques that uses languages such as ML and Scheme.

Somebody else mentioned Erlang (because of its concurrency support?), and I mentioned Ocaml, which is an ML variant.


I think your idea is a good one, but I don't think that will happen. First, there's an entrenched base of people who think a declarative programming style is just weird, period. They don't like it and don't want to do it. Then there'd be the issue of what functional programming language to use. At the end of the day, you have to have enough hands to do the work, and you would be surprised how many willing workers have never had exposure to functional programming.

If we were to go the route of writing the prototype in a functional programming language, I'd suggest ANSI Common Lisp. There are a lot of LISPers out there (and Schemers), and LISP has features that make bottom-up rapid development very doable. There are a lot of free and open-source Common LISP implementations as well. SBCL, CMU-CL, CLISP, GCL, OpenMCL, blah blah blah, and of course there's the commercial stuff like Allegro CL and LispWorks. With its macro facility, ACL codebases can become their own lanaguages.

ML/Ocaml is good too. I'd actually recommend Ocaml over ML because it has seen actual commercial use in Europe (although SML has been used in England).

I don't know enough about Erlang. Clean looks interesting, and Mozart looks pretty interesting too, but then we are getting into niche languages that almost nobody who would be interested in this project would know that much about.

Heck, prototype it with Jython. :)

Compiled Java initially seems as good as anything, but don't those
compilers add in their own brand of GC? Wouldn't that be an overhead
we neiter need nor want? Do we want to generate our own native
compiler? I'm thinking the best native compiler/language to use is
probably C.

We've got people here from Redhat, so they are probably thinking that provide a back-end to GCJ would fit that need.


I agree that most of the libraries can be written in Java, but
wouldn't that constitute a separate apache project, just like GNU
Classpath? The VM should probably be as clean as a very clean thing...
in a clean room.. (hence why I never mentioned C++ :)

I suspect that since we need both to pass the TCK, we will have two projects in one. I think that the class libraries will be the bigger part of the work.


_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/




Reply via email to