Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


My hobby-horse programming language where I'll attempt to implement, from scratch, everything that I dream of having in other languages. This is likely to be forever in flux, but we'll start somewhere.

Read the Comprehensive User Docs

Please understand that these docs are a work in progress, and while they do cover a large chunk of the language features, there is still more documentation to come including better examples and clearer explanations.

Learn Claro By Example!

Check out the example Claro programs.

Try it Out in a GitHub Codespace!

Open in GitHub Codespaces

Once you're in VSCode in your codespace, navigate to


and you should be able to run any of the claro_binary Bazel Build targets by clicking the Run button rendered inline above the target.

In case the VSCode Bazel Plugin Isn't Working can always manually run the programs manually by finding the corresponding build target name and running a command like the following:

bazel run --nojava_header_compilation //src/java/com/claro/claro_programs:<replace this with your desired build target>

Try it Out Online at!

Please keep in mind that in the current state of the world, Riju is generally behind the latest state of Claro development since I don't control Riju and can't redeploy for each new commit to this repo. If you want the latest of the latest then read the below to build Claro locally.

Build Claro Locally!

View the src, and follow the real User Guide.