https://github.com/lunandd/firework_lang
A pure functional programming language
https://github.com/lunandd/firework_lang
llvm llvm-ir rust rust-crate
Last synced: 6 months ago
JSON representation
A pure functional programming language
- Host: GitHub
- URL: https://github.com/lunandd/firework_lang
- Owner: lunandd
- License: gpl-3.0
- Archived: true
- Created: 2021-10-17T09:03:40.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-21T16:58:37.000Z (about 4 years ago)
- Last Synced: 2024-12-23T22:14:20.725Z (over 1 year ago)
- Topics: llvm, llvm-ir, rust, rust-crate
- Language: Rust
- Homepage:
- Size: 117 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# BEWARE! This project has failed, is archived and will probably will be rebuilt in Haskell!
## Firework programming language
[](https://github.com/Pavlos-Efstathiou/firework_lang/actions)

[](https://crates.io/crates/firework_lang)
[](https://crates.io/crates/firework_lang)
[](https://crates.io/crates/firework_lang)
[](https://blog.rust-lang.org/2020/08/27/Rust-1.46.0.html)
Functional programming language that compiles to [LLVM IR](https://llvm.org/docs/LangRef.html) (Very incomplete, be warned)
## Build Guide
### 1. Installing Rust
- *nix:
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
- Windows:
Install [rustup-init](https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe) and run it
### 2a. Installing Firework
```sh
cargo install firework_lang
```
### 2b. Updating Firework
```sh
cargo install firework_lang --force
```
### 2b. Building from Source
```sh
git clone https://github.com/Pavlos-Efstathiou/firework_lang
cd firework_lang
cargo build --release
```
### 3. Installing LLVM 12.x
- [*nix](https://llvm.org/docs/CMake.html)
- [Windows Binaries](https://github.com/PLC-lang/llvm-package-windows/releases/tag/v12.0.1)
## Quickstart
```sh
firework_lang new hello_world
cd hello_world
firework_lang run
```
### 4. Running the example
```sh
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