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
