Elegant, fast, and secure.
A declarative, fast, and highly portable programming language built for expressive data transformations and robust software.
npm install -g @caja/cliyarn global add @caja/clibun add -g @caja/cliEnsure correctness and memory safety with custom Type Aliases, Structs, and Generic types, catching errors early in development.






Unlock true functional power with Closures and Higher-Order Functions. Easily encapsulate configuration and state to create highly reusable, domain-specific function factories.

Embrace a data-first pipeline design with the |> operator to make complex transformations intuitive and easy to read from top to bottom.
Using pipelines removes the need for deeply nested function calls and intermediate variables. The data-first approach ensures that transformations read naturally from left to right, resulting in cleaner, highly expressive, and easily maintainable code.

Write recursive functions without fear. Cajá natively optimizes tail calls, reusing stack frames to prevent overflows and boost performance.
In many languages, deep recursion risks stack overflows due to excessive memory usage. TCO solves this by automatically flattening recursive calls that occur at the end of a function (the "tail"). This allows your recursive algorithms to run with the speed and constant memory footprint of a traditional while loop!

