BoundaryML/baml

The programming language for agents

What it solves

BAML addresses the fragility of agent development by providing a dedicated programming language designed specifically for AI agents. It aims to reduce agent mistakes by replacing generic programming languages with a type-safe, statically analyzed environment tailored for agentic workflows.

How it works

BAML functions as a domain-specific language that combines a TypeScript-like syntax with a Rust-like type system. It allows developers to define agent logic and types that persist at runtime, eliminating the güvenli casting or the use of any types. It can be used as a standalone language or integrated into existing projects via calls from languages like Python, TypeScript, Go, C#, and Java.

Who it’s for

It is designed for software engineers building AI agents who require high reliability, static analysis, and strong typing to prevent runtime errors and garbage outputs.

Highlights

  • Strong, Rust-like type system with fast compilation
  • Built-in testing and evaluation framework
  • Native support for agent-specific standard libraries
  • Colorless concurrency and green threads similar to Go
  • Multi-language interoperability (TS, Py, Go, C#, Java)