An open API service indexing awesome lists of open source software.

https://github.com/theow03/hazelc

LLVM Compiler for Hazel; a declarative, Functional Programming Language
https://github.com/theow03/hazelc

compilers functional-programming llvm

Last synced: 9 days ago
JSON representation

LLVM Compiler for Hazel; a declarative, Functional Programming Language

Awesome Lists containing this project

README

          

# Hazelc

![](https://img.shields.io/badge/License-GPLv3-blue.svg)
![](https://tokei.rs/b1/github/TheoW03/hazel)

Hazel is an open source, purely functional, declartive programming language that is designed
to make functional programming more apporachable for people coming from imparaitive langauges such as C.

## Build Instructions

make sure you have CMake v3.22.1 and the LLVM version 17.0.0
if not download them here

- [cmake]

- [llvm]

now run this in your terminal

```sh
cmake -S . -B build
cmake --build build --config Release -DPROFILING={ON|OFF}
./hazelc --help
```

## Documentation

- [langauge-definition]

- [examples]

# Progress

This a list of features I have implemented in the compiler

## Code Structures

- [x] Comments
- [x] Functions
- [x] Conditionals
- [x] Modules and Mdules Imports
- [ ] Lists
- [x] Function calls without parameters
- [ ] Function calls with parameters
- [ ] Anonmyous Functions

## Types

- [x] Native Types
- [ ] Struct Types
- [ ] Generics
- [ ] Variants (enum)
- [ ] Function Types
- [x] None

## Operators

- [x] Basic Math Operators
- [x] Boolean Operators
- [ ] String Operators(concation done, Substring and charat needs some work)
- [x] Bitwise Operators
- [ ] List Operators
- [ ] Unary Operators

[llvm]:

[cmake]:
[langauge-definition]:
[examples]:
[lines-of-code-badge]:
[gpl]: