On Fri, Aug 23, 2013 at 12:35 PM, Jonathan S. Shapiro <[email protected]>wrote:

> The first objective is to validate and bootstrap the *language*. There is
> a *lot* of infrastructure that needs to be built before any sort of
> production-capable implementation becomes possible. The more of that we can
> do in BitC itself, the happier we are going to be. But in order to do that,
> we need to have a running version of BitC to bootstrap in. The less
> investment we need to make in order to have a bootstrap implementation, the
> better. CLR is merely a collection of features that facilitate a bootstrap
> implementation. Nothing more.
>

Unsurprisingly, I'm 110% in support of this direction.

Since it sounds like you've answered your question about which runtime to
start with (CLR), what are the next steps?

I'm particularly curious how you think bitc-the-second differs from
Nemerle1/2, since it has modular compilation, inference, variants,
pure-functional, and compile-time-metaprogramming. Is the biggest
differentiator the region typing, or are you trying to do something
different with inference and polymorphism?

 AOT may be no big deal in your mind, but the fact is that there exists not
>> open source optimization infrastructure that attempts to target
>> garbage-collected languages.
>>
>
Mono seems darn close to an open-source implementation of an AOT
optimization infrastructure (which admittedly could use work, but it's
quite capable and even supports LLVM as a backend for AOT).

The problem with Mono performance is interesting. It's very possible that
> two or three people, contributing actively, could make a huge improvement
> in Mono performance. But as you note, the JIT implementation in mono was a
> fairly small fraction of the effort. It's not at all out of the question
> that one could simply build a new and better JIT and re-use most of the
> library infrastructure investment that Mono has already made.


This seems true. I think there is just proportionally less open-source
activity around CLR because the main end-user system supporting CLR is
Windows. Compare that to the Javascript community, where there are several
competing runtime scrambling to each re-add the same performance
optimizations (including PIC).

I think this is already changing because of mono-team's work on their
excellent Xamarin/Mono C# mobile development direction. However, this is
more focused on Mono/LLVM/AOT since AFAIK iOS does not allow JIT.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to