Skip to content

This is a multi-paradigm, memory-safe, monomorphic, strongly typed language with ad-hoc polymorphism.

License

Notifications You must be signed in to change notification settings

calyxium-lang/calyxium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Calyxium: A multi-paradigm, memory-safe, monomorphic, strongly typed language with ad-hoc polymorphism.

Why | Installation | Getting Started | Usage | Contributing | License

Build Status

Why

Calyxium is designed with safety and clarity first:

  • Generational Mark/Sweep Garbage Collector: Automatic memory management ensures memory safety without manual intervention.
  • Type Safety with Explicitnes: Strong static typing with support for both polymorphism and monomorphism. You can rely on inference or declare explicit types for precision
    let x = 10 in
    let y: int = 10 in
    
  • Immutable by Default: Values cannot be mutated, reducing bugs from shared state. Mutation is only possible through explicit refs, making mutability intentional and controlled.
  • Ad-Hoc Polymorphism: Flexible polymorphism without sacrificing type safety, allowing expressive yet predictable code.

Calyxium exists to provide a modern, safe, and expressive programming language that balances functional purity with pragmatic expressiveness.

Installation

Follow these steps to install and build Calyxium:

  1. Install OCaml

    Download and install OCaml from the official site

  2. Clone the repository

    git clone https://github.com/calyxium-lang/calyxium.git
    cd calyxium
  3. Install the dependency

    dune install menhir
  4. Build the project

    dune build --profile release
  5. Install the project

    dune install

Getting Started

For detailed documentation, visit the official documentation

Contributing

We welcome contributions! Whether it's a bug report, feature suggestion, or code contribution:

  • File issues via the issue tracker
  • For the repo and open a pull request

Please follow conventional commit and PR practices where possible.

License

Calyxium is licensed under the MIT License. See the LICENSE file for more details.