
Hello Guys, The first version of the .NET backend for YHC is working. It isn't stable yet but at least I managed to run some simple applications with it, using the compiled yhc-base package. The required compiler changes are quite small. I just had to add an additional compiler option which switches from the bytecode backend to the new backend. Everything else is clearly separated from the rest of the compiler. The .NET backend is using its own runtime library and requires some changes in the base package. I tend to release the backend as open source. Would you like to merge the new backend in the main compiler repository? Alternativelly I will have to keep my own copy repository. Cheers, Krasimir

Hi Krasimir,
First off, this is really cool :)
We'd definately love to have your changes in the main repo, and I am
happy to merge them in if you send them to me.
You also mentioned you needed some changes to the base libraries. Can
you send any changes you needed and we'll see what can be done about
merging those back in as well. I was looking at altering the base
libraries (particularly Prelude and Yhc.Internal) to see if they could
be made more standard without .hi file hackery - I guess those changes
would help you too.
Thanks
Neil
On 29/01/06, Krasimir Angelov
Hello Guys,
The first version of the .NET backend for YHC is working. It isn't stable yet but at least I managed to run some simple applications with it, using the compiled yhc-base package. The required compiler changes are quite small. I just had to add an additional compiler option which switches from the bytecode backend to the new backend. Everything else is clearly separated from the rest of the compiler. The .NET backend is using its own runtime library and requires some changes in the base package.
I tend to release the backend as open source. Would you like to merge the new backend in the main compiler repository? Alternativelly I will have to keep my own copy repository.
Cheers, Krasimir _______________________________________________ Yhc mailing list Yhc@haskell.org http://haskell.org/mailman/listinfo/yhc

Hi Neil,
2006/1/29, Neil Mitchell
Hi Krasimir,
First off, this is really cool :)
We'd definately love to have your changes in the main repo, and I am happy to merge them in if you send them to me.
Cool. I will send you the patch shortly. I would like to cleanup some things first.
You also mentioned you needed some changes to the base libraries. Can you send any changes you needed and we'll see what can be done about merging those back in as well. I was looking at altering the base libraries (particularly Prelude and Yhc.Internal) to see if they could be made more standard without .hi file hackery - I guess those changes would help you too.
Hmm. I am not sure about the right way here. The change which I made is quite simple. I just made the Handle data type an abstract type instead of wrapper around ForeignPtr. The reason is that the file handle in .NET is an object instead of some kind of pointer or numeric value. I am not sure how many other changes will be required in order to support the entire base package. I prefer to keep a separated copy for base, until I get a clear vision. Cheers, Krasimir

Cool. I will send you the patch shortly. I would like to cleanup some things first.
Sure
You also mentioned you needed some changes to the base libraries. Can you send any changes you needed and we'll see what can be done about merging those back in as well. I was looking at altering the base libraries (particularly Prelude and Yhc.Internal) to see if they could be made more standard without .hi file hackery - I guess those changes would help you too.
Hmm. I am not sure about the right way here. The change which I made is quite simple. I just made the Handle data type an abstract type instead of wrapper around ForeignPtr. The reason is that the file handle in .NET is an object instead of some kind of pointer or numeric value. I am not sure how many other changes will be required in order to support the entire base package. I prefer to keep a separated copy for base, until I get a clear vision.
Ok, that seems sensible. If you want to send me just a patch to the base package, or just a couple of the changes you have made - not to apply, but just so that I can take a look - so when I'm tweaking the prelude I can see if there is some way for both the .NET and the .hbc preludes to coexist - perhaps separating what is internal to the runtime out in some way. Thanks Neil
participants (2)
-
Krasimir Angelov
-
Neil Mitchell