https://github.com/hexaredecimal/zulu
Functional programming language created for hobby programming on the JVM
https://github.com/hexaredecimal/zulu
compiler interpreter java jdk programming programming-language programming-languages
Last synced: 7 months ago
JSON representation
Functional programming language created for hobby programming on the JVM
- Host: GitHub
- URL: https://github.com/hexaredecimal/zulu
- Owner: hexaredecimal
- License: mit
- Created: 2024-06-19T03:25:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-22T10:53:25.000Z (11 months ago)
- Last Synced: 2025-02-22T11:28:06.322Z (11 months ago)
- Topics: compiler, interpreter, java, jdk, programming, programming-language, programming-languages
- Language: Java
- Homepage:
- Size: 51.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
ZULU Programming Language
[](https://app.circleci.com/pipelines/github/corgifist/barley-lang/10/workflows/45b5d058-5c12-49f8-a44a-0a7f76fdf0c9)
## Key features
- functional programming
- function overloading (using clauses)
- pattern matching
- simple syntax (only 16 keywords)
- concurrency (TODO)
- null safety
- tuple support
- built-in optimization (constant folding, propagation, expression simplification and more)
- support for list, hashmap, string, number, atoms
- interop with JVM programs
- go style error handling
Zulu is a interpreted rust-like language based on JVM.
## Example

## Installation
Install the latest release and Java SE 21 and Apache Ant.
```sh
$ git clone git@github.com:hexaredecimal/Zulu.git
$ cd Zulu
$ ant
$ ./install.sh
```
After running these commands `Zulu` should be installed in the `.local/bin` directory.
```sh
$ zulu help
```
## Usage
>> Project
```sh
$ zulu new
Enter project name:
$ cd code
$ nvim main.zulu
```
>> To compile a project just type `zulu` and it will build and run.
## References
- [Barley](https://github.com/corgifist/barley-lang/tree/main) - Forked parent
- [Elixir](https://en.wikipedia.org/wiki/Elixir_(programming_language)) - Inspiration
- [Rust](https://en.wikipedia.org/wiki/Rust_(programming_language)) - Inspiration
- [Standard_ML](https://en.wikipedia.org/wiki/Standard_ML) - Inspiration
- [Go](https://en.wikipedia.org/wiki/Go_(programming_language)) - Inspiration
- [Java](https://en.wikipedia.org/wiki/Java_(programming_language)) - Compiler and FFI implementations