functional programming language
Find a file
2026-04-19 04:03:00 -05:00
examples init 2026-04-19 04:03:00 -05:00
nix-modules init 2026-04-19 04:03:00 -05:00
src init 2026-04-19 04:03:00 -05:00
.envrc init 2026-04-19 04:03:00 -05:00
.gitignore init 2026-04-19 04:03:00 -05:00
Cargo.lock init 2026-04-19 04:03:00 -05:00
Cargo.toml init 2026-04-19 04:03:00 -05:00
flake.lock init 2026-04-19 04:03:00 -05:00
flake.nix init 2026-04-19 04:03:00 -05:00
README.md init 2026-04-19 04:03:00 -05:00

Basic hello world

open std::io;

// const { io } = import!("std");
pub main := fn() -> () {
  io.println("Hello, world");
  io.Writer
  iterator.map(color::Color::to_bytes)
};

Structured data

Color ::= Color { red: u8, green: u8, blue: u8 };

Union types

Result<T, E> ::= Ok (T) | Err (E);

Option<T> ::= Some (T) | None;

MaybeColor ::= SomeColor { red: u8, green: u8, blue: u8 } | None;

Symbol Semantics

  • = => Equal by assignment (or reassignment)
  • := => Equal by definition
  • ::= => Equal in structure or type
  • // => in-line comment
  • /// => in-line doc comment
  • //! => in-line module doc comment
  • | => type union

Classes

Same thing as a Haskell typeclass or Rust trait.