EO principles respected here We recommend IntelliJ IDEA

make crates.io PDD status Hits-of-Code Lines of code License

It's an experimental emulator of a processor that understands 𝜑-calculus expressions, which is the formalism behind EO programming language.

To build it, install Rust and then:

bash $ cargo build --release

If everything goes well, an executable binary will be in target/release/fibonacci:

bash $ target/release/fibonacci 7 40

This will calculate the 7th Fibonacci number 40 times. Don't try to play with much larger numbers, this binary code is very slow. It's just an experiment.

To compile your own program instead of this primitive recursive Fibonacci calculator, you have to convert EO code into 𝜑-calculus expressions and then pass them to Emu struct like this:

rust use phie::emu::Emu; pub fn main() { let emu: Emu = " ν0 ↦ ⟦ φ ↦ ν3 ⟧ ν1 ↦ ⟦ Δ ↦ 0x002A ⟧ ν2 ↦ ⟦ λ ↦ int-add, ρ ↦ ξ.𝛼0, 𝛼0 ↦ ξ.𝛼1 ⟧ ν3 ↦ ⟦ φ ↦ ν2(ξ), 𝛼0 ↦ ν1, 𝛼1 ↦ ν1 ⟧ ν5 ↦ ⟦ φ ↦ ν3(ξ) ⟧ ".parse().unwrap(); let dtz = emu.dataize(); print!("The result is: {}", dtz.0); }

This code is equivalent to the following EO code:

text [] > foo 42 > x x.add x > @

But in a more "functional" way:

text [] > foo 42 > x int-add > @ x x

More tests are in src/emu.rs file.