The LLVM Haskell Compiler finally coming together. From Haskell parser to name resolution to type checker to desugarer to LLVM backend to GC. Everything is held together with duct tape but it feels great to finally compile and run Hello World.
# cat Hello.hs {-# LANGUAGE MagicHash #-} module Main (main) where import LHC.Prim main :: IO Unit main = puts "Hello Haskell!"# `thenIO` return Unit entrypoint :: Unit entrypoint = unsafePerformIO main
Compiling the above file yields a single LLVM program, containing user code and the RTS.
# lli Hello.ll Hello Haskell!
No comments:
Post a Comment