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