Neva
Write programs like message passing graphs and get parallelism for free. Statically typed and compiled to machine code!
Install / Use
/learn @nevalang/NevaREADME
Neva is a statically typed, compiled dataflow programming language.
Instead of writing step-by-step instructions, you create networks of nodes that exchange messages through ports.
Hello, World!
import {
fmt
runtime
}
def Main(start any) (stop any) {
println fmt.Println
panic runtime.Panic
---
:start -> 'Hello, World!' -> println:data
println:res -> :stop
println:err -> panic
}
This code imports fmt and runtime to use Println and Panic components, and defines Main with one input (start) and one output (stop). The two nodes are connected: when the program starts, 'hello world' is sent to println; if printing fails, errors go to panic; after printing, the program ends.
Key Features
- Flow-Based Runtime - Everything runs in parallel by default
- Hybrid Programming (WIP) - Program both in text and visual editor
- Powerful Compiler - Strict static types and machine code compilation
- Go Interop - call Go code from Neva and vice versa for gradual adoption and reuse of the ecosystem
- Modern Language Design - errors as values, pattern matching, null safety, etc.
- And many more!
Architecture
Neva compiles to clean, dependency-free Go code using goroutines and channels for message passing. The Go compiler then produces optimized binaries for any supported platform.
<div align="center">flowchart LR
source_code-->compiler-->|go_code| go_compiler
subgraph compiler
parser-->analyzer-->backend
end
go_compiler-->machine_code
go_compiler-->wasm
</div>
Why?
- Controlflow paradigm is is well established while dataflow is underrepresented.
- Existing visual tools lacks the expressiveness of traditional languages.
- Many languages treat concurrency as an advanced feature, not the default.
- Not many languages compiles to Go or interops with it, while it has state of the art runtime and standard library.
Contributing
- Join discord server or telegram group
- Read contributing, architecture and CoC
- Support project on Open Collective ❤️🔥
Community
Your support by donating to our open collective or joining us will show interest and motivate us to continue.
⭐️ Star History
<p align="center"> <a href="https://star-history.com/#nevalang/neva&Timeline"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=nevalang/neva&type=Timeline&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=nevalang/neva&type=Timeline" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=nevalang/neva&type=Timeline" /> </picture> </a> </p>Support
We’re exploring a future of programming that few dare to build. If you believe in this direction, backing us on Open Collective keeps the work alive: https://opencollective.com/nevalang
Also give us a star to increase our chances of getting into GitHub trends. The more developers we reach, the more likely we are to build this future together.
<p align="center"> <img src="./assets/animations/github_star.gif" alt="GitHub Star"> </p>And tell the world about Neva! Every share helps us grow our community.
<div align="center" style="display:grid;place-items:center;"> </div>Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
xurl
337.4kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
