re bootstrapping the .NET C# compiler is C++... ( mono is c#) , if you just want to get up and running quick it may be easy to move the C++ code you have to output CIL , there was an LLVM CIL output compiler flying around but its seems to have dissapeared which would allow bitc to make LLVM which would then compiler to CIL , which you could then use to start making the real compiler in bitc . Alternatively port the C++ to managed C++ CLR and on windows create the compiler assembly and use it in mono ..
> > So where does this go in the future >> I would say most of it would be improvements in the GC >> AOT is no big deal . ( CLR a few apps just run ngen as part of the >> install) >> > > 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. We've discussed the issues with LLVM. CLR is > missing some key things that we want, and it doesn't provide an optimizer. > C-- isn't viable, and that leaves....? > > I meant no big deal as any JIT can do AOT .. ( without all the nice hot spotting type code ) . I completely agree there is nothing here .. which is why i was pushing for a rust fork , writing your own runtime is not viable , maybe your targetting the language as a demonstartor for someone to then fund it but they will say what does it do that C# and Java doesnt ( for which you have some answer but im not sure if its compelling in a business sense) .. > GC is actually not one of the more urgent issues. That's something that we > can improve over time, but we need control over code generation in order to > do so. Even if that compiler sucks, and the resulting code runs glacially, > it can be used to start rebuilding some of the things that you mentioned in > safe[er] style. > > >> You mentioned you cant use the standard lib due to inheritance , very >> little of the standard lib uses inheritance its mainly interfaces... >> > > I was referring to the existing CLR infrastructure, almost *all* of which > is inheritance based. > I dont follow . What do you mean the infrastructure ? mono is C , there are non inheritance in some CLR languages .. eg LISP . .. Is it the fact you need the CIL data to do : extends [mscorlib]System.Object if you want to pass objects to the standard libs ? Is it the Debugger / GC stubs or language hooks into the IDE ? Maybe worth looking at ironscheme (Lisp one) as well , open source , runs on the CLR and no inheritance. Ben
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
