/pikelet

🥞 (Please don’t repost, this is still a WIP) A friendly little systems language with first-class types.

Primary LanguageRustApache License 2.0Apache-2.0

Pikelet!

Pikelet Mascot

Actions Status Matrix License

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! 😅

Roadmap

Check out our plans in the roadmap.

Code of Conduct

Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.