
In the interests of some program transformations that I want to try out I've decided it would be nice to get a YHC based compiler working again. I managed to get YHC working (although it's a bit of a hack, I haven't found a nice way to build the libraries), I can probably pull some patches together if they are wanted. I've noticed that much of the code is messy and have started to rewrite significant parts. On the other hand I think much of the compiler architecture and ideas in YHC (such as the specific language chosen for YHC Core) are worth keeping. I'd like to see some nice libraries for manipulating Core (I believe that was the intended direction anyway). Are there any parts of the compiler design that caused problems? Are there parts that were particularly good? I believe that I should be safe to release any derived works under GPLv3 (with some attribution), although it isn't entirely clear. Does anybody disagree? Thanks, I'll post an update here when I've got some code to share. [Aside: I think messy code is expected, especially in old code like the bits from nhc, or code that has features added over time - please don't be offended!] -- Andrew Oakley

On 9 May 2012, at 21:30, Andrew Oakley wrote:
In the interests of some program transformations that I want to try out I've decided it would be nice to get a YHC based compiler working again.
Good luck! Yhc is largely in a state of abandonment, but if you can get something useful out of it, please do.
I've noticed that much of the code is messy and have started to rewrite significant parts.
The actual compiler part is shared once again with nhc98, which is almost-but-not-quite dead too: it would be a shame to fork this code yet again, if there is a possibility that it could continue to be shared. I have a nightly build job that builds nhc98 in a number of different ways, and runs its test suite. It might pick up some regressions (or highlight improvements) as they occur due to your changes.
I believe that I should be safe to release any derived works under GPLv3 (with some attribution), although it isn't entirely clear. Does anybody disagree?
GPL is explicitly allowed, as far as anyone cares. Regards, Malcolm

Hi Andrew, As Malcolm said, Yhc is now abandoned, so whatever you wish to do with it is fine by me. The Yhc Core library served me well for my PhD and I still have several utilities based on it, although I haven't been able to run Yhc for years. However, if you want to run any serious programs, you might be better off translating GHC Core to Yhc Core. That said, compiler hacking is always fun. Thanks, Neil On Monday, May 14, 2012, Malcolm Wallace wrote:
On 9 May 2012, at 21:30, Andrew Oakley wrote:
In the interests of some program transformations that I want to try out I've decided it would be nice to get a YHC based compiler working again.
Good luck! Yhc is largely in a state of abandonment, but if you can get something useful out of it, please do.
I've noticed that much of the code is messy and have started to rewrite significant parts.
The actual compiler part is shared once again with nhc98, which is almost-but-not-quite dead too: it would be a shame to fork this code yet again, if there is a possibility that it could continue to be shared. I have a nightly build job that builds nhc98 in a number of different ways, and runs its test suite. It might pick up some regressions (or highlight improvements) as they occur due to your changes.
I believe that I should be safe to release any derived works under GPLv3 (with some attribution), although it isn't entirely clear. Does anybody disagree?
GPL is explicitly allowed, as far as anyone cares.
Regards, Malcolm
_______________________________________________ Yhc mailing list Yhc@haskell.org javascript:; http://www.haskell.org/mailman/listinfo/yhc
participants (3)
-
Andrew Oakley
-
Malcolm Wallace
-
Neil Mitchell