9 releases (5 breaking)

0.6.0 Sep 8, 2019
0.5.1 Sep 2, 2019
0.4.2 Aug 25, 2019
0.3.0 Aug 17, 2019
0.1.0 Aug 7, 2019

#2 in #domain-specific

MIT license

69KB
2K SLoC



Yolk

Numerical computing for Yolol.

WhatWhyHowDevelopmentLicenseContributionCredits

Warning: Yolk is currently in development. Things may change at any time!

What is Yolk?

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.

Why should I use Yolk?

  • 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

How do I get started?

Learn the Yolk syntax by checking out some examples or by reading the language specification.

Try Yolk online with Yolk Web.

Development

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

License

Licensed under either of

at your option.

Contribution

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.

Credits

Logo derived from: Egg by David from the Noun Project

Dependencies

~5.5–7.5MB
~141K SLoC