Systems language

KYRx. A systems language that shows what your code can do.

KYRx is a systems programming language from HyperBridge. Effects are part of a function's type, memory is managed by regions the compiler infers, and typed bridges connect it to code in other languages.

In the language

  • Algebraic effects
  • Region memory
  • Typed bridges
  • Bounded Rust migration

Who it is for

Systems code is hard to review when its side effects and memory use are hidden. KYRx puts both where the compiler and the reader can see them.

  • Systems programmers

    Write low-level code where what a function may do, such as reading a file or calling the network, is stated in its type.

  • Teams with existing Rust code

    Move code across in bounded steps instead of rewriting a whole project at once.

  • Language and tooling enthusiasts

    Follow the documentation and learning paths, and try the language as it develops.

Language design

The ideas behind KYRx.

  • Algebraic effects

    What a function is allowed to do is tracked by the compiler, so side effects are visible and can be handled in one place.

  • Region memory

    Memory is grouped into regions that the compiler infers, so you get predictable cleanup without a garbage collector in the way.

  • Typed bridges

    Call into and out of code written in other languages through bridges that keep the types checked.

  • Bounded Rust migration

    Bring Rust code across in stages, with a clear boundary around what has moved and what has not.

  • A real toolchain

    A command-line tool, a standard library and a package registry, described in the reference documentation.

  • Documentation and learning paths

    Getting started, a language reference and guides on effects, patterns and memory.

On kyrx.dev

Where to find things.

The KYRx site is the public home for the language, its tools and its packages.

  • Language

    Getting started, the reference, and guides on effects, patterns and memory.

    • Getting started
    • Reference
    • Effects
    • Patterns
    • Memory
  • Toolchain

    The command-line tool, the standard library, bridges to other languages and the package registry.

    • CLI
    • Standard library
    • Bridges
    • Package registry
  • Preview access

    KYRx is developed in the open with a preview programme. The site explains how to ask for access.

    • Request preview

KYRx

Read how KYRx works.

Start with the documentation, or talk to us if you want to build on KYRx.