Skip to content

Latest commit

 

History

History
32 lines (20 loc) · 1.95 KB

README.md

File metadata and controls

32 lines (20 loc) · 1.95 KB

Kami

A programming language for distributed systems integrated with the rust ecosystem.

Prototype

There is ongoing work to build the first prototype of the Kami compiler. The various intermediate languages and compilation steps can be found in the kami-core/src/KamiCore/Language/ subfolders. A short explanation of the purpose of each step, together with a small example which is run through the pipeline is available in kami-core/src/KamiCore/Pipeline/Definition.agda.

Typechecking the prototype

In order to typecheck the current prototype, you need a recent install of Agda (e.g. version 2.6.x, or the current master branch).

Additionally, you will need to install the following libraries on your system, as described in the Agda documentation:

In order to typecheck the whole compilation pipeline, and apply it to the example term, change into the kami-core/src/KamiCore/Pipeline/ subfolder and run agda Definition.agda. This will take quite some time as it recursively typechecks all dependencies.

Funding

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo