[Haskell-cafe] Translating Haskell to VHDL. What approach to
follow?
Neil Mitchell
ndmitchell at gmail.com
Mon Nov 6 05:48:00 EST 2006
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
More information about the Haskell-Cafe
mailing list