Skip to content
@LamoLanguage

Lamo Ecosystem

A modern programming language that transpiles to C. As simple as an interpreted language. As fast as a compiled one.

⚡ Lamo Ecosystem

A modern programming language that transpiles to C.

As simple as an interpreted language. As fast as a compiled one.

License: MIT Made with C Status


fn main() {
    print("Hello, World!")
}


🧭 What is Lamo?

Lamo compiles down to plain C — no virtual machine, no bytecode, no interpreter sitting in the hot path. Just readable source in, optimized native machine code out.

⚡ Native performance Transpiles to C, then compiles with GCC/Clang — real executables, no VM overhead.

🧠 Clean syntax Optional semicolons, Python-like truthiness, and a small, readable grammar.

🧬 Generics Generic functions, structs, impl<T>, and trait-style constraints (T: Ord).

🏷️ Tagged-union enums Option<T> { Some(T), None } with pattern-matching bindings.

📦 Batteries included Built-in package manager, formatter, test runner, and REPL.

🌐 Real-world builtins Native HTTP server support and GUI backends (Win32 / X11).


📦 Repositories

Repository What it is
LamoLanguage The core compiler, standard library, package manager, formatter, REPL & tests
🖼️ LamoImage Reference implementation of the .lamo image container format
🧩 LamoLanguageVscode VS Code extension for Lamo syntax & tooling support
🤖 LamoLLM LLM-assisted tooling and workflows for the Lamo language
🗄️ LamoPacketManager archived Original standalone package manager, since folded into the core compiler

✨ A taste of the language

struct Player {
    name: string,
    hp: int
}

impl Player {
    fn damage(amount: int) {
        self.hp -= amount
    }
}

let hero = Player { name: "Arthur", hp: 100 }
hero.damage(25)
print(hero.hp)   // 75
🧬 Generics, expanded
fn pick<T>(a: T, b: T) -> T {
    if (1 < 2) { return a }
    return b
}

struct Stack<T> {
    items: array<T>,
    top: int
}

impl<T> Stack<T> {
    fn push(x: T) {
        self.items.push(x)
        self.top += 1
    }
}

let s: Stack<int> = Stack<int> { items: [], top: 0 }
s.push(10)
print(pick("left", "right"))   // "left"

🚀 Get started

git clone https://github.com/LamoLanguage/LamoLanguage
cd LamoLanguage
make            # build the compiler → produces the `lamo` binary
make test       # run the full regression suite
./lamo run examples/main.lamo
Command Description
lamo run <file.lamo> Compile and run a source file
lamo build <file.lamo> -o <name> Compile to a binary without running it
lamo check <file.lamo> Parse and semantic-check only — great for CI
lamo fmt <file.lamo> Normalize source formatting in place
lamo test Run the test suite
lamo eval / lamo repl Fast-feedback interpreter, no C compile step

Full docs live in docs/, including the language spec, type system, and memory model.


🗺️ Philosophy

As simple as an interpreted language, as fast as a compiled one.

Lamo stays deliberately small. Every new construct ships with defined semantics, compiler validation, and tests — syntax never outruns meaning.


🤝 Contributing

Contributions are welcome across every repo in this org — compiler internals, standard library, editor tooling, or docs. Open an issue or PR to get started, and check docs/SPEC.md before changing language behavior.


Released under the MIT License

Pinned Loading

  1. LamoImage LamoImage Public

    Official implementation of the .lamo format: a compact binary container that stores an image and metadata in a single file. It includes tools for reading, writing, viewing, and inspecting the content.

    Python 1

  2. LamoLanguage LamoLanguage Public

    Lamo is an experimental programming language inspired by C, featuring modern syntax and a pure C implementation, focused on the study of compilers and language design.

    C 1

  3. LamoLanguageVscode LamoLanguageVscode Public archive

    A Simple extension for VSCODE adding suport to Lamo Language

    JavaScript 1

  4. LamoLLM LamoLLM Public

    Python

  5. LamoPacketManager LamoPacketManager Public archive

    C

Repositories

Showing 7 of 7 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…