- Functional programming, manage data in functional style
- Supports Java interoperability
- PKG Manager
- Pattern matching
-
- Variables (see
Pattern matching
inExamples
)
- Variables (see
-
- Functions (see
Pattern matching
inExamples
)
- Functions (see
-
- Case Expression
case [1, 2, 2] -> of [H :: T]: io:fwriteln("%s | %s", H, T). end.
- Case Expression
- Multi-assignment
- Null safety
- Spawn process, send message and don't worry about errors in it
- Generator jamming (eval GeneratorAST before running the program)
- Easily distribute programs by using
dist
module - Usually, distributed program is very small in terms of memory
- Built-in optimization (constant folding, propagation, expression simplification and more)
- Two Zulu instances can talk to each other by sending signals (see
examples/chat.zulu
) - Clean syntax
Zulu is a interpreted erlang-like language based on JVM.
Install the latest release and Java SE 21 and Apache Ant.$ 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.
$ zulu help
Project
$ zulu new
Enter project name: <project_name>
$ cd code
$ nvim main.zulu
To compile a project just type
zulu
and it will build and run.
Barley - Forked parent
Erlang - Major inspiration
Java - Compiler and FFI implementations