Hi

I haven't yet planned how to achieve the translation but VHDL, unlike
Haskell, doesn't have type inference mechanisms. That means I need to
declare the interface of whatever I will translate each Yhc.Core
function to (i.e. VHDL Entities, Architectures, Functions ... )

Can you explain more about the "declare the interface" remark? I
suspect this can be acheived with Yhc using the signatures from the
.hi files, or embeding the information with our "typerep" Haskell
extension.

It's true that the ExtCore rep is somewhat bit-rotted, but the only
thing missing to get Core *output* is someone to beef up the pretty
printer.  I'd do it myself, except that there is a *design* task to do,
namely to fix the concrete syntax for some of FC's constructs.  One
could choose anything, but it'd be good to choose a syntax that is easy
to parse.  Once the syntax is designed, it'd take an hour or two to make
GHC emit it.  (There's a separate job to make GHC parse and typecheck
ExtCore as its source program, but you don't need that.)

For a reference point, I debated what the Yhc Core language should
look like for a while. Then I gave up, grabbed a copy of DrIFT, adding
"deriving Binary" annotations and was done. There is a concrete binary
data type that represents Yhc.Core, but I have no idea what it is, and
I certainly don't support access to it. There is a Haskell library
which can load a Yhc.Core file, manipulate it, write it out etc -
removing the need for a concrete syntax. We have a pretty printer, but
since thats a one way mapping its much easier, we just made it look as
much like Haskell as possible (no Z encoding etc).

Thanks

Neil
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to