I still think CIL  is better  , your first pros and cons were just on the
language  but for the implementation there  are many more.

Here are some
-.NET assemblies are a great deployable and you can use many standard libs
to parse them . They hold a lot more type information than IR which is very
useful for a compile opt pass. We talked about 1 such which needed high
level type information recently . In LLVM this will all need to be string
like metadata.
- CLR is faster to get up and running as you dont need to build a runtime
with GC first ( note ref counting issues doing it in current Bitc) , you
can use libs to parse and write .NET assemblies . Getting a prototype up
quick is useful.
- CLR to LLVM IR translation layer is not expensive , so not a lot is lost
.
- Bitc Apps can use the CLR
- In the longer term you will provide a runtime for Bitc (eg Assembly to
LLVM-IR with GC and runtime ) which all other .NET apps can use . ie a mono
replacement for very little more than what you intend . Consider Java apps
can use the same runtime via IKVM .. That alone is a big market.
- C# has interfaces which map better to BitC later on . Since its only an
interim step to self host it does not need to be the greatest code,.
- C# code unlike C++ is multi platform with little work .

There are obvious cons while i think the compiler will be up and running
and self hosted earlier the total work is higher . That said  the user base
you are exposed to is massive.


Ben

On Fri, Jan 10, 2014 at 5:30 AM, Jonathan S. Shapiro <[email protected]>wrote:

> OK, folks. I'm going to try to run with LLVM. I'm doing this for several
> reasons:
>
>    1. Our main goal is a mostly-static compiler. Initially targeting CLI
>    isn't a good match for that.
>    2. It appears to me that the LLVM API can be expressed as a set of
>    interfaces, and we can thereby arrange to call it from BitC. This gives us
>    an incremental migration path to self-hosting the BitC compiler.
>    3. I still believe that the LLVM IR needs some augmentation to be a
>    good match for GC'd programming languages, but I think we can do that
>    incrementally.
>    4. Embarrassed though I am to admit it, my C/C++ skills are a heck of
>    a lot stronger than my C# skills.
>
> Jonathan
>
> _______________________________________________
> bitc-dev mailing list
> [email protected]
> http://www.coyotos.org/mailman/listinfo/bitc-dev
>
>
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to