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
- Host: GitHub
- URL: https://github.com/theow03/hazelc
- Owner: TheoW03
- License: gpl-3.0
- Created: 2024-12-12T22:51:35.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-08-24T02:11:22.000Z (8 months ago)
- Last Synced: 2025-08-24T09:48:49.564Z (8 months ago)
- Topics: compilers, functional-programming, llvm
- Language: C++
- Homepage: https://github.com/TheoW03/Hazelc/blob/master/Hazel_docs.pdf
- Size: 726 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hazelc


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]: