Skip to content

Latest commit

 

History

History
52 lines (31 loc) · 1.15 KB

README.rst

File metadata and controls

52 lines (31 loc) · 1.15 KB

idris-go

A Go backend for Idris.

What is working

  • Calling Go from Idris (see examples/echo.idr for an echo server)
  • Tail calls are implemented with goto if self-recursive and with a trampoline otherwise, hence arbitrary deep tail calls should work.

See the examples directory for some examples.

What is not working

  • Calling Idris from Go
  • Not every of Idris primitive functions is implemented. The use of an unimplemented primitive function will result in a panic at runtime.

Building from source

Easiest with Stack. See their documentation for details how to install it.

Assuming you have stack installed, then you can simply do:

stack build

To run the tests, execute:

stack test

Translating Idris programs to Go

stack exec idris -- -p go --codegen go examples/hello.idr -o hello.go

License

MIT/Expat. See LICENSE for details.