MCPcopy Index your code
hub / github.com/Ottrlang/otterlang

github.com/Ottrlang/otterlang @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,117 symbols 5,516 edges 162 files 390 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/Ottrlang/otterlang/blob/main/image.png?raw=true" width="200" alt="OtterLang Logo" />

OtterLang

Roadmap  ·  Getting Started  ·  Examples

Simple syntax, native performance, transparent Rust FFI.

Build Status Discord

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

Extension points exported contracts — how you extend this code

GcStrategyTrait (Interface)
Trait for garbage collection strategies [4 implementers]
crates/otterc_runtime/src/memory/gc.rs
WorkloadAdapter (Interface)
Extension point for workload-specific optimizations [1 implementers]
crates/otterc_jit/src/concurrency/extensions.rs
FfiBackend (Interface)
(no doc) [1 implementers]
crates/otterc_ffi/src/lib.rs
OtterObject (Interface)
Base trait for all OtterLang objects that can be reference counted
crates/otterc_runtime/src/memory/object.rs
GpuExecutor (Interface)
Trait for GPU workload executors
crates/otterc_jit/src/concurrency/extensions.rs
IoExecutor (Interface)
Trait for I/O-bound workload executors
crates/otterc_jit/src/concurrency/extensions.rs

Core symbols most depended-on inside this repo

clone
called by 645
crates/otterc_jit/src/engine.rs
as_ref
called by 639
crates/otterc_ast/src/nodes.rs
map
called by 320
crates/otterc_ast/src/nodes.rs
register
called by 296
crates/otterc_symbol/src/registry.rs
insert
called by 191
crates/otterc_codegen/src/llvm/compiler/types.rs
get
called by 185
crates/otterc_cache/src/manager.rs
len
called by 152
crates/otterc_span/src/lib.rs
join
called by 151
crates/otterc_runtime/src/task/task_impl.rs

Shape

Method 1,062
Function 728
Class 268
Enum 53
Interface 6

Languages

Rust95%
C4%
TypeScript1%

Modules by API surface

crates/otterc_runtime/src/stdlib/builtins.rs106 symbols
src/lsp/mod.rs71 symbols
crates/otterc_codegen/src/llvm/compiler/expr.rs58 symbols
crates/otterc_typecheck/src/checker.rs51 symbols
src/cli.rs50 symbols
crates/otterc_typecheck/src/types.rs45 symbols
crates/otterc_codegen/src/llvm/runtimes/standard.c36 symbols
crates/otterc_runtime/src/stdlib/exceptions.rs35 symbols
crates/otterc_jit/src/optimization/inliner.rs34 symbols
crates/otterc_codegen/src/llvm/compiler/mod.rs34 symbols
crates/otterc_runtime/src/task/channel.rs33 symbols
crates/otterc_codegen/src/llvm/runtimes/wasm.c33 symbols

For agents

$ claude mcp add otterlang \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact