Dataflow Programming Language
β οΈ Warning: This project is currently under heavy development and is not yet ready for production use.
A general-purpose dataflow programming language with static types and implicit parallelism. Compiles to machine code and Go.
- Dataflow Programming
- Implicit Parallelism
- Compiles to Machine Code, Go and More
- Garbage Collection
- Strong Static Typing
- Clean C-like Syntax
- ...And more!
Note: Features are implemented but may have poor developer experience. No backward-compatibility guaranteed at the moment.
For Mac OS and Linux:
curl -sSL https://raw.githubusercontent.com/nevalang/neva/main/scripts/install.sh | bash
If your device is connected to a chinese network:
curl -sSL https://raw.githubusercontent.com/nevalang/neva/main/scripts/cnina/install.sh | bash
For Windows (see issue with Windows Defender, try manual download from releases if installation won't work):
curl -o installer.bat -sSL https://raw.githubusercontent.com/nevalang/neva/main/scripts/install.bat && installer.bat
First, use Neva CLI to create a project template
neva new my_awesome_project
Then run it
neva run my_awesome_project/src
You should see the following output
Hello, World!
If you open my_awesome_project/src/main.neva
with your favorite IDE you'll see this
flow Main(start) (stop) {
Println
---
:start -> ('Hello, World!' -> println -> :stop)
}
The Main
component has start
inport and stop
outport, with a println
node (instance of stdlib's Println
). The network after ---
shows: on start
message, "Hello, World!"
is sent to println
, then program terminates via stop
signal.
Nevalang is in its early stages, but community support can help it grow into a mature, feature-rich language.
- Grow community and improve docs
- Expand stdlib (including test-framework)
- New language features (e.g. true patter-matching)
- Enhance developer experience (lsp, debugger, etc)
- Implement Go interoperability (call Go from Neva and Neva from Go)
- Enable visual programming in VSCode
Nevalang seeks contributors to join its small team of maintainers.
Join our community and help shape the future of programming:
Also please check our CoC.
See CONTRIBUTING.md and ARCHITECTURE.md.