
Hi
In order to get part of the work for free I decided to design the translator as a compiler backend. The best option so far seems to be Yhc's Core API (http://haskell.org/haskellwiki/Yhc/API/Core ), which unfortunately lacks type information.
Can you mention what you need type information for? If it is to detect higher order functions (as you have mentioned in IRC conversations with me) then in about a week I am going to announce a Yhc.Core first order transformation, which will remove that issue for you. In general the lack of types in Yhc.Core has not proved a major issue for anyone - if there is anyone who does absolutely require type information in their intermediate language and therefore cannot use Yhc.Core, I'd be very interested to hear from them.
I discarded GHC due to the current "bit-rotted" state of External Core (http://www.haskell.org/pipermail/haskell-cafe/2006-October/018786.html ) and higher complexity of its core representation (SystemFC).
Igloo submitted a few patches in the last week to get GHC.Core working again. It doesn't have the same infrastructure support as Yhc.Core, but it does have the advantage of having the GHC team behind it.
I'd be pleased to hear any suggestions.
I (obviously...) would like you to use Yhc.Core, if you could expand on why that isn't appropriate for you then perhaps you'll either get improvements into Yhc.Core or some hints from the GHC team :) Thanks Neil (ndm)