Re: Idle musings on doing E over again
Ben Laurie <[email protected]> Thu, 11 Oct 2012 15:41:33 +0100
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <CABrd9SRxm2L5d4cqAHiXHCE6U7bVdJRZaR6jU7jXFsCYmxAMcg@mail.gmail.com> |
On 11 October 2012 15:33, Kevin Reid <kpreid-M/[email protected]> wrote: > On Oct 11, 2012, at 2:45, Ben Laurie wrote: > >> On 28 September 2012 15:41, Kevin Reid <kpreid-M/[email protected]> wrote: >>> I was trying to get to sleep last night, and was struck by the thought of: If we were designing E from scratch (with the same goals), what would I actually do differently? >> >> I'm afraid I lost track of the conversation here, but the one thing >> I'd say is: don't build on top of the JVM. > > What do you see as the disadvantages of doing so? > > As noted in my original message, I see the best option as building on top of JavaScript. This is, yes, yet another high-level VM. However, it is one which is extremely widely available; I see it as the best chance to make a difference. > > I would like to know whether your criticism of the JVM applies here as well. Only somewhat :-) They worst thing about the JVM is its lack of portability and openness. What's bad about both options is that you inherit a pile of security issues that are nothing to do with you, and your runtime speed is limited by their runtime speed... >> On top of LLVM would be >> pretty neat (you might then want some kind of E-on-E interpreter for >> interactive, if you really care about interactive, not sure it matters >> that much, TBH - maybe you can even compile/link small programs fast >> enough to not need it). > > Based on the example set by Steel Bank Common Lisp, I would hope that we can have a sufficiently fast compiler to compile interactive execution. (For that matter, E-on-CL did, though I never exercised the interactive functionality very much.) > > In the case of a high-level target, the best path seems to me to be a bootstrap interpreter written in the target, and a compiler to the target written in E. An interpreter for current E written in E is nearly trivial. > > In the case of something like LLVM, I'm not sure what I'd choose for a bootstrap. I don't care for fully self-hosting systems that require bootstrap binaries and constrain system changes to incremental ones. You lost me :-) > > -- > Kevin Reid <http://switchb.org/kpreid/> > > > _______________________________________________ > e-lang mailing list > [email protected] > http://www.eros-os.org/mailman/listinfo/e-lang