What • Why • How • Development • License • Contribution • Credits
Yolk is a domain-specific language that transpiles to Yolol.
// Calculate dot products
define dot(V, W) = sum(V * W)
let foo = dot([1, 2], [3, 4])
// Result: foo == 11
Yolk specializes in working with numbers and arrays. It doesn't support strings, conditionals, or gotos.
- Minimal syntax: has the same operators and precedence as Yolol
- Interoperable design: easy to integrate with your existing Yolol
- Aggressive optimization: saves space on your Yolol chips
Learn the Yolk syntax by checking out some examples or by reading the language specification.
Try Yolk online with Yolk Web.
Requires Git and Rust nightly.
# Set nightly as default
rustup default nightly
# Clone the repository
git clone https://github.com/averycrespi/yolk.git && cd yolk
# Build and run tests
make
You can read more about Yolk development in my project highlight blog post.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Logo derived from: Egg by David from the Noun Project