11 releases

0.3.5 Feb 11, 2022
0.3.4 Feb 11, 2022
0.3.3 Jan 17, 2022
0.3.1 Dec 24, 2021
0.2.5 Nov 14, 2021

#99 in #functional-programming

26 downloads per month

GPL-3.0 license

39KB
828 lines

Firework programming language

Test Status Lines of Code Crates.io Version Crates.io Downloads Crates.io License Minimum rustc version

Functional programming language that compiles to LLVM IR (Very incomplete, be warned)

Build Guide

1. Installing Rust

  • *nix:

     curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Windows: Install rustup-init and run it

2a. Installing Firework

cargo install firework_lang

2b. Updating Firework

cargo install firework_lang --force

2b. Building from Source

git clone https://github.com/Pavlos-Efstathiou/firework_lang
cd firework_lang
cargo build --release

3. Installing LLVM 12.x

Quickstart

firework_lang new hello_world
cd hello_world
firework_lang run

4. Running the example

git clone https://github.com/Pavlos-Efstathiou/firework_lang
cd firework_lang/example
firework_lang run

Upcoming features

  • Algebraic Data Types
  • Custom Data Types
  • Dependency management
  • REPL

Dependencies

~17–32MB
~521K SLoC