Caramel is a functional language for building type-safe, scalable, and maintainable applications. It is built in OCaml and maintained by Abstract Machines. Caramel leverages the OCaml compiler, to provide you with a pragmatic type system and industrial-strength type safety, and the Erlang VM, known for running low-latency, distributed, and fault-tolerant systems used in a wide range of industries. Excellent type inference, so you never need to annotate your code. Supports sources in OCaml (and soon Reason syntax too). Caramel aims to make building type-safe concurrent programs a productive and fun experience. Caramel should let anyone with existing OCaml or Reason experience be up and running without having to relearn the entire language. Caramel strives to integrate with the larger ecosystem of BEAM languages, like Erlang, Elixir, Gleam, Purerl, LFE, and Hamler.
Features
- Excellent type-inferece, so you never need to annotate your code
- Zero-cost type-safe interop with most existing Erlang and Elixir code
- Has a reviewed standard library included
- Supports sources in OCaml (and soon Reason syntax too)
- Ships a single executable (caramel)
- Has a built-in formatter (caramel fmt)