
If you are really interested in embedded realtime code you may want to have a look at the timber language[1] or bit-c[2]. Another very interesting project is this[3] developing a new Haskell like language called Habit for systems programming. There are also some great papers about systems programming and problems in Haskell. For example "Strongly typed memory areas programming systems-level data structures in a functional language". [1] http://www.timber-lang.org/ [2] http://www.bitc-lang.org/ [3] http://hasp.cs.pdx.edu/ [4] http://web.cecs.pdx.edu/~mpj/pubs/bytedata.pdf Tom Hawkins-2 wrote:
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. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- View this message in context: http://old.nabble.com/Retargeting-Haskell-compiler-to-embedded-hardware-tp29... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.