[haskell-llvm] haskell-llvm An LLVM backend for DDC

Mikhail Glushenkov the.dead.shall.rise at gmail.com
Fri Jun 25 02:03:40 EDT 2010


On Thu, Jun 24, 2010 at 10:02 AM, Erik de Castro Lopo
<mle+hs at mega-nerd.com> wrote:
> Henning Thielemann wrote:
> However discussing the requirements for DDC with Ben Lippmeier I think
> our needs may actually be better met with David Terei's LLVM interface.
> Ben's objections to Lennart's bindings are:
>  - Use of non Haskell 98 extensions which makes out bootstrapping
>    problem more difficult.

You can extract C bindings from Lennart's package and use them. This
way you won't have to depend on non-Haskell 98 extensions.

Using the C bindings means that you will perform code generation
directly from in-memory representation of IR, and avoid the overhead
of printing & parsing LLVM assembly. Which means faster compile times.
Also, it's arguably easier to modify C bindings when something in LLVM
is changed.

It may also be a good idea to split the LLVM package into two
libraries: low-level C bindings (which will depend only on Haskell 98
+ FFI) and a high-level DSL library (non-Haskell 98 extensions).

()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

More information about the Haskell-llvm mailing list