An experimental programming language for ergonomic software verification using Hoare Logic.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Tako currently uses cargo
for builds and running tests and git submodules for dependency management.
Installation instructions can be found at https://rustup.rs/
Building is a single step,
cargo build --release
You can also install tako, though I don't recommend this.
cargo install --path=./tako
This allows us to run the compiler.
tako examples/hello_name.tk
./build/examples_hello_name 'world'
And interactive interpreter:
tako -i
And use the interpreter to run a tako file:
tako -r examples/hello_name.tk -- 'world'
Running the tests is also a single step.
cargo test
Note: Currently this tests using an optimised build as some of the tests rely on rust optimisations that decrease stack usage. Tracking bug: https://github.com/Cypher1/tako/issues/179
Warning: Don't use tako. Use some other language & compiler.
I recommend rust, haskell or idris.
tako is not stable, reliable, or efficient.
You have been warned.
tako is a standalone single file. It can be installed simply by building and copy/moving ./tako into your /usr/bin directory.
Please read the CODE_OF_CONDUCT.md and CONTRIBUTING.md guides for details on our code of conduct, and the process for submitting pull requests.
We will use SemVer for versioning. There are no versions currently available, but see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE.md file for details
Jay Pratt 💻 🎨 |