Skip to content

EricLBuehler/kestrel

Repository files navigation

kestrel

rustc 1.71.0 MIT License Test status Build status Docs status

Simple and safe.

Todo Roadmap

  • Add C-style enums (by 8/18/23)

    Add: enum keyword, enum variant instantiation with :: operator.

  • Add match keyword (by 8/21/23)

    Add: match keyword, use phi values.

    MIR effect: Will require permutations to prove invariants.

  • Add Rust-style enums (by 8/24/23)

    Add: enum instantiation really instantiates a struct containing the value and the discriminant, update match keyword

  • Add String type (by 8/26/23)

    Add: String type.

  • Add std::io::print type (by 8/28/23)

    Add: std::io::print builtin function.

  • Allow fn to take references (by 9/2/23)

    Update: fn parameter list.

    Mir effect: Will require lifetime checks for functions.

Syntax Highlighting

Kestrel has a syntax highlighting theme for VSCode! To install:

  1. cd kestrel-syntax
  2. make install
  3. Restart VSCode

Features

  • Ahead of time compilation - Kestrel is compiled ahead of time (AOT), instead of being interpreted or JIT compiled. AOT compilation allows Kestrel to catch entire classes of runtime errors, vastly improving the developer experience.

  • Statically typed - Kestrel resolves types at compile time, resulting in immediate warnings and feedback.

  • Performance - AOT compilation means that Kestrel programs are compiled directly to machine code, allowing programs to be executed on any target platform natively, with blazing fast performance.

  • Helpful compiler - Descriptive and detailed error messages improve the debugging experience.

  • Borrow checker - Ensures that invariants which prevent many types of memory errors by converting Kestrel code into Kestrel MIR.

About

Simple and safe.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages