On May 6, 2009, at 8:07 AM, Rouan van Dalen wrote:
Hi everyone.

I am designing my own programming language.

I would like to know what is the best way to go about writing my compiler in haskell. What are the tools available in haskell that can help with compiler construction?

I know about Happy.  Is that a good tool to use?

The compiler is intended for serious use and I would like it to be very efficient, maybe competing with compilers written in C. It should also be very easy to extend as the languoge grows.

Are there any good books that you can recommend on compiler construction in general and specific to haskell?

What is your goal? Writing a compiler, for fun and educational purposes, or to implement a new language?

When the actual language is the main purpose and your language will be a functional one you can try to piggyback on existing compilers.

For example, translate your language to the GHC core or UHC[1] core and you get a cross platform highly optimizing compiler for free. You can now freely focus on the semantics of your language and let an existing code generator do the dirty work for you.

When, in the end when your languages is finished, the existing compiler is not fast enough, improve it and everyone benefits!

On another note, how is the operator + implemented in haskell?

is there a primitve (say #+) that is wrapped by the haskell operator +?
Maybe something like:

(+) :: a -> a -> a
v1 + v2 = #+ v1 v2

Thanks in advance

Rouan.


[1] https://svn.cs.uu.nl:12443/repos/EHC/trunk/EHC/src/ehc/Core/AbsSyn.cag

--
Sebastiaan Visser

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

Reply via email to