[Haskell-cafe] Retargeting Haskell compiler to embedded/hardware
Tom Hawkins
tomahawkins at gmail.com
Tue Sep 28 21:58:11 EDT 2010
A few years ago I attempted to build a Haskell hardware compiler
(Haskell -> Verilog) based on the Yhc frontent. At the time I was
trying to overcome several problems [1] with implementing a hardware
description language as a light eDSL, which convinced me a proper
compiler may be a better approach. Yhc was recommended as a good
starting point since it had a simpler IR compared with GHC -- at least
at the time.
I am considering restarting this effort, but this time to target hard
realtime embedded code. What is the recommended compiler to start
from? I need an IR that is post type checking with as much desugaring
as possible, and a code base that is relatively easy to splice and
build.
My other requirement is not to be bound to IO () for 'main'. The top
level will be a monad, but with different semantics than IO. I would
also like to reuse the standard library, with exception to the values
related to IO.
What are my options?
Thanks.
-Tom
[1] Lack of observable sharing; function definitions, case
expressions, ADTs disappear at compile time; etc.
More information about the Haskell-Cafe
mailing list