Skip to content

Ottrlang/otterlang

OtterLang Logo

OtterLang

Simple syntax, native performance, transparent Rust FFI.

Build Status Discord

What is OtterLang?

OtterLang is an indentation-sensitive programming language with an LLVM backend that compiles to native machine code. It combines Python-like simplicity with Rust-like performance and seamless (not yet) interoperability with the Rust ecosystem.

Think of OtterLang as a modern language that bridges the gap between high-level expressiveness and low-level performance, with transparent access to the entire Rust ecosystem.

Goals

  • 🎯 Simple syntax – Indentation-driven, no braces or semicolons
  • Native performance – Compiles to native binaries with LLVM
  • 🔗 Transparent Rust FFI – Import any Rust crate with use rust:crate_name (very barebones)
  • 🛡️ Memory safety – Generational garbage collection with explicit root APIs
  • 🧵 Concurrency – Built-in threaded task runtime
  • 📦 Rich standard library – Comprehensive stdlib covering IO, networking, JSON, and more

Quick Start

git clone https://github.com/jonathanmagambo/otterlang.git
cd otterlang
nix develop
cargo build --release
./target/release/otter run hello.ot

See the Getting Started Guide for detailed instructions.

Documentation

Roadmap – project roadmap and future plans.

Getting Started – installation, CLI walkthrough, first project.

Examples – curated sample programs.

Tutorials – guided walkthroughs for specific topics.

API Reference – stdlib module documentation.

Contributing and License

Important

OtterLang is currently in Early Access (v0.1.0) and is being actively developed. If you plan to contribute, now is the time to provide a helping hand for the hardworking team.

OtterLang is free and open source, released under the BSD-3-Clause License. Contributions are welcome! See CONTRIBUTING.md for more information.

Contributors

Thank you so much to all our contributors! ❤️

Alt

Releases

No releases published

Packages

No packages published

Contributors 5