🥞 (Please don’t repost, this is still a WIP) A friendly little systems language with first-class types.
Clone or download
Pull request Compare This branch is 77 commits behind pikelet-lang:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
book
ci
src
.gitignore
.gitmodules
.travis.yml
CODE_OF_CONDUCT.md
Cargo.toml
LICENSE
README.md
build.rs
rustfmt.toml

README.md

Pikelet 🥞

Build Status Gitter

Pikelet is a small, functional, dependently typed programming language.

Dependent types allow us to do a bunch of really interesting things, like using records for modules, declaring the length of arrays at the type level, and much more — many of great utility for low-level and high-level code alike!

We hope to one day grow Pikelet into fully-fledged systems programming language, with support for unboxed data types, control over memory layout and allocation strategy, linear types, and a flexible phase distinction and support for calling other languages. At the moment however we've only implemented a type checker and very slow interpreter, so don't get your hopes up too much yet! There's still a whole lot to do before it is even remotely useful to anyone! 😅

For more information, see The Pikelet Book.

Contributing

We really want to encourage new contributors to help out! Please come chat with us on our Gitter channel - if you have any questions about the project, or just want to say hi! We sometimes get side-tracked on technical discussions, but we're always more than happy to spend time explaining things.

Acknowledgments

YesLogic Logo

This work was done in part with the generous support of YesLogic.