llvm-hs/llvm-hs-examples

Examples for Haskell bindings to LLVM

Haskell

72

49 commits

updated Jun 1, 2021

See the code

README

LLVM Haskell Examples

Build Status

Simple examples demonstrating the usage of the llvm-hs for generating and manipulating LLVM from Haskell.

  • basic - Generating LLVM AST and rendering Textual IR
  • orc - JIT Compiling IR on the Eager and Lazy ORC Jit using Compile-On-Demand
  • arith - a minimal JIT compiler for functions of one (real) variable using recursion schemes
  • irbuilder - Basic usage of the LLVM IRBuilder for constructing modules

These examples require LLVM 9.0. Check that your installed LLVM version is precisely 9.0. If not then follow the install directions in the llvm-hs repository.

$ llvm-config --version
9.0

To run the examples with Stack:

$ stack exec basic
$ stack exec orc
$ stack exec arith
$ stack exec irbuilder

To load the examples in GHCI:

$ stack repl examples:basic
$ stack repl examples:orc
$ stack repl examples:arith
$ stack repl examples:irbuilder

To run the examples with Cabal:

$ cabal run basic
$ cabal run orc
$ cabal run arith
$ cabal run irbuilder

License

MIT License Copyright (c) 2017-2020, Stephen Diehl

jit
llvm
llvm-hs

Contributors

sdiehl

35 commits

cocreature

11 commits

alpmestan

1 commits

kwibus

1 commits

llvm-hs/llvm-hs-examples

Examples for Haskell bindings to LLVM

Haskell

72

49 commits

updated Jun 1, 2021

See the code

README

LLVM Haskell Examples

Build Status

Simple examples demonstrating the usage of the llvm-hs for generating and manipulating LLVM from Haskell.

  • basic - Generating LLVM AST and rendering Textual IR
  • orc - JIT Compiling IR on the Eager and Lazy ORC Jit using Compile-On-Demand
  • arith - a minimal JIT compiler for functions of one (real) variable using recursion schemes
  • irbuilder - Basic usage of the LLVM IRBuilder for constructing modules

These examples require LLVM 9.0. Check that your installed LLVM version is precisely 9.0. If not then follow the install directions in the llvm-hs repository.

$ llvm-config --version
9.0

To run the examples with Stack:

$ stack exec basic
$ stack exec orc
$ stack exec arith
$ stack exec irbuilder

To load the examples in GHCI:

$ stack repl examples:basic
$ stack repl examples:orc
$ stack repl examples:arith
$ stack repl examples:irbuilder

To run the examples with Cabal:

$ cabal run basic
$ cabal run orc
$ cabal run arith
$ cabal run irbuilder

License

MIT License Copyright (c) 2017-2020, Stephen Diehl

jit
llvm
llvm-hs

Contributors

sdiehl

35 commits

cocreature

11 commits

alpmestan

1 commits

kwibus

1 commits

Languages

Haskell

100.0%