All Projects → Trundle → idris-go

Trundle / idris-go

Licence: MIT license
A Go backend for Idris

Programming Languages

haskell
3896 projects
Idris
72 projects
shell
77523 projects
Makefile
30231 projects

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].