Skip to content

(WIP) Enact: A compiled programming language that's simple, familiar and fast.

License

Notifications You must be signed in to change notification settings

enact-lang/enact

Repository files navigation

Enact logo

Build Status CodeFactor

Enact is a new compiled general-purpose programming language that's not designed to be unique or groundbreaking. Instead, Enact aims to be familiar, taking advantage of already established techniques and paradigms and making them nicer.

Example

// FizzBuzz in Enact

func fizzBuzz(n int) {
    for i in 1...n {
        switch (i % 3 == 0, i % 5 == 0) {
            case (true, false) => print("Fizz");
            case (false, true) => print("Buzz");
            case (true, true)  => print("FizzBuzz");
            default            => print(n);
        }
    }
}

Features

  • Static types that help, not hinder
  • Efficient compile-time memory management
  • Easy-to-use generics, hygienic macros
  • Pattern matching and tail-calls
  • Clean and familiar syntax
  • Built-in build system and package management

Goals

  • Easy to pick up from other compiled languages like C, C++, Rust and Go
  • More memory-safe than C, more approachable than Rust, more peformant than Go
  • Small standard library with a strong ecosystem of external packages