13 releases (breaking)
0.11.0 | Jul 14, 2022 |
---|---|
0.10.0 | Dec 2, 2021 |
0.9.1 | Nov 1, 2021 |
0.7.0 | Mar 27, 2021 |
0.5.0 | Dec 17, 2020 |
#89 in Programming languages
57 downloads per month
Used in koto_cli
1MB
20K
SLoC
Koto
Pulls together the compiler and runtime for the Koto programming language.
Programs can be compiled and executed with the [Koto] struct.
Example
use koto::{Koto, runtime::Value};
let mut koto = Koto::default();
match koto.compile("1 + 2") {
Ok(_) => match koto.run() {
Ok(result) => match result {
Value::Number(n) => println!("{n}"), // 3.0
other => panic!("Unexpected result: {}", other),
},
Err(runtime_error) => {
panic!("Runtime error: {runtime_error}");
}
},
Err(compiler_error) => {
panic!("Compiler error: {compiler_error}");
}
}
Dependencies
~1.1–2.8MB
~53K SLoC