BoundaryML/baml

The programming language for agents

What it solves

BAML addresses the instability and unpredictability of LLM outputs. It provides a structured programming language specifically designed for AI agents to reduce mistakes, eliminate "garbage outputs," and ensure that types persist at runtime without dangerous casting.

How it works

BAML functions as a specialized language that combines a Rust-like type system with Go-like concurrency (green threads). It allows developers to define agent logic and types that are statically analyzed for errors. It can be used as a standalone language or integrated incrementally into existing projects via calls from languages like Python, TypeScript, Go, C#, and Java.

Who it’s for

Software engineers building AI agents who require strict type safety, high performance, and a dedicated environment for testing and evaluation.

Highlights

  • Strong, static type system that eliminates any types and dangerous casting.
  • Built-in testing and evaluation framework.
  • Built-in standard library specifically for agents.
  • High-performance compilation and colorless concurrency.
  • Multi-language interoperability with TS, Py, Go, C#, and Java.

Related

  • Project
  • Project
  • Project
  • Project
  • Project