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.

Releases

No releases published

Packages

No packages published

Languages