Skip to content

alinalihassan/Lesma

Repository files navigation

Lesma Programming Language
Lesma

License: MIT Version Platform Build

Lesma is a compiled, statically typed, imperative, and object-oriented programming language with a focus on expressiveness, elegance, and simplicity without sacrificing performance.

📝 Features

  • 🚀 Fast Compilation: compiling at a rate of ≈230k loc/s, because waiting for code to compile is a thing of the past
  • ⚡ Blazing Fast Execution: because it should be, it's as fast as C, using LLVM's state-of-the-art optimizations, but it won't ever oblige you to make an extra effort just for the sake of performance
  • 🔬 Statically Typed: because IDE completion is like heaven, while unknown behaviour and runtime exceptions are like hell
  • 🧑‍🎨 Simple: because the code should be easily readable, and it shouldn't make you guess what it does or take long to learn

✍️ Example

Lesma Fibonacci

📖 Documentation

Installation

Every Lesma release contains archives with the binary and standard library which you can grab. Alternatively, you can use the installer script to do all the work for you. The get-lesma.sh script downloads and installs the latest release.

Run the following in your terminal:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/alinalihassan/Lesma/main/scripts/get-lesma.sh)"

🔧 Build

In order to build Lesma, you need Clang and LLVM 15 installed. It's currently only supported on Linux and macOS. For a more comprehensive guide, and more information on how to install the prerequisites, read the documentation on Getting Started

  1. Clone the repository
    git clone https://github.com/alinalihassan/Lesma
  2. Run CMake to configure the build
    cmake . -Bbuild
    cmake --build build

💬 Contributing

Pull requests are welcome. For major changes, please open an issue to discuss your proposal and what you'd like to change.

📎 License

This software is licensed under the MIT © Alin Ali Hassan.