Hi, The question is actually: how is it different from OCaml's intermediate language ? But let's not start so roughly. I'm very interested in the many VM developped these days, looking for fast ways of developping prototype languages without bothering with low-level aspects. Neko looks very promising, I should give it a try. Before discovering it, I had turn to using OCaml intermediate language.
The OCaml compilation parses the code, type-checks it, compile to an enriched lambda-calculus, and then compiles it to OCaml bytecode or native code. The intermediate calculus is still quite high-level. It features garbage-collection, is functionnal, has exceptions stuff, a C FFI... It's not typed at all, runs fast, especially with the native code target. Moreover, you can benefit of the C bindings made by the not so small OCaml community, which is a great deal. I've managed to re-use the appropriate part of the OCaml compiler, and run my hand-made lambda code. I believe you wanted runtime type inspection for Neko, and I agree that OCaml is not distributed in a way which encourages backend re-use. It's a bit late to ask, but was it worth re-building everything from scratch ? What's your opinion, is there something I missed, did you considered it at first, etc ? Thanks for Neko anyway, I'll have a closer look soon ! -- David --- Neko : One VM to run them all
