Welcome to Claro!

Claro is a statically typed JVM language that provides a well-lit path to building simple, highly concurrent, and scalable applications.

Dependency Management Done Right

Claro was designed with modern build tooling in mind:

  • Swap any dependency without changing a single line of source code
  • Runtime "Dependency Injection" frameworks are a thing of the past
  • First class Module system

Fearless Concurrency

Developed by a Xoogler taking inspiration from years of hands-on development experience with Google-internal backend web frameworks, Claro moves well beyond async/await. Claro’s declarative, DAG-based structured concurrency model provides an easy-to-use abstraction to statically guarantee that programs are:

Data Oriented

  • Strict separation between data and functionality
  • Mutability tracked at the type system level
  • Extremely flexible built in algebraic data types
  • Model arbitrary data structures with zero boilerplate

Unapologetically Practical

Designed to Scale with You

  • Incremental compilation out of the box
  • Code reuse made simple
  • Develop codebases of any size without devolving into a spaghetti labyrinth

Actively In Development

Claro is in active development and is not yet ready for production use. While Claro has been in active development for more than 3 years, its design and implementation has been done entirely by its single maintainer, Jason Steving - while the foundation has been laid, contributions are welcome! Anyone with interest is actively encouraged to reach out and get involved!