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

Reply via email to