Features
-
Eliminate tail recursion using JVM’s GOTO
-
Trampoline non-self tail calls
-
Support file, directory, array, IORef and buffer primitives.
-
Analyse function dependencies to generate bytecode for only used functions from
main
-
Limited type inference on Idris IR to avoid boxing and typecasting in the generated bytecode
-
Static and instance Java FFI method calls.
-
Debug information (Idris source file and line numbers) in the bytecode from Idris IR