Update code for current version of upstream Idris 2
Implement more primitives
Make sure foreign calls return a real "Unit" value when specified
This is a (work in progress) backend to generate native executables from Idris code, using the LLVM compiler infrastructure. Code is generated via LLVM IR (i.e. not via generated C source code).
The source folder rts/
contains a primitive runtime system with a relocating
semi-space garbage collector.
LLVM 10 needs to be installed and the binaries available in your $PATH
. To
check if that is the case, try the following command:
$ opt --version
LLVM (http://llvm.org/):
LLVM version 10.0.1
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: skylake
$ make
$ make test
# compile the included "Hello world" example
./build/exec/rapidc --cg llvm -o hello samples/Hello.idr
# run the compiled binary
./build/exec/hello