ランキングに戻る

nevalang/neva

Gonevalang.org

Next-Gen programming language for humans and AI. Hybrid visual/textual, parallelism by default, strict static typing, compiles to machine code and integrates with Go.

compilerflow-based-programminggolangvisual-programmingnevalangconcurrent-programingdataflow-compilerdataflow-programmingfbpfbp-compilerfbp-runtimeflow-based
スター成長
スター
1.1k
フォーク
40
週間成長
Issue
107
5001k
2024年1月2024年11月2025年9月2026年7月
成果物Go Modulesgo get github.com/nevalang/neva
README
Nevalang logo

Neva Programming Language

Back Neva on Open Collective

Tests CI Linting CI Go Report GitHub closed issues Discord OS License: MIT

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.

flowchart LR
  source_code-->compiler-->|go_code| go_compiler

  subgraph compiler
    parser-->analyzer-->backend
  end

  go_compiler-->machine_code
  go_compiler-->wasm

Why?

  1. Controlflow paradigm is is well established while dataflow is underrepresented.
  2. Existing visual tools lacks the expressiveness of traditional languages.
  3. Many languages treat concurrency as an advanced feature, not the default.
  4. Not many languages compiles to Go or interops with it, while it has state of the art runtime and standard library.

Contributing

  1. Join discord server or telegram group
  2. Read the user documentation, developer documentation, AGENTS and CoC
  3. 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.

Open Collective Discord Telegram Reddit Twitter

⭐️ Star History

Star History Chart

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.

GitHub Star

And tell the world about Neva! Every share helps us grow our community.

share on x share on facebook share on reddit share on telegram share on whatsapp share on hackernews share on linkedin

関連リポジトリ
vercel/next.js

The React Framework

JavaScriptnpmMIT Licensereactserver-rendering
nextjs.org
141.1k31.5k
rust-lang/rust

Empowering everyone to build reliable and efficient software.

Rustcrates.ioApache License 2.0rustcompiler
rust-lang.org
114.8k15.4k
sveltejs/svelte

web development for the rest of us

JavaScriptnpmMIT Licensetemplateui
svelte.dev
87.7k5k
webpack/webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

JavaScriptnpmMIT Licensewebpackjavascript
webpack.js.org
65.8k9.4k
FuelLabs/sway

🌴 Empowering everyone to build reliable and efficient smart contracts.

Rustcrates.ioApache License 2.0swaylanguage
docs.fuel.network/docs/sway/
61.6k5.4k
gatsbyjs/gatsby

React-based framework with performance, scalability, and security built in.

JavaScriptnpmMIT Licensegatsbystatic-site-generator
gatsbyjs.com
56k10.2k
typst/typst

A markup-based typesetting system that is powerful and easy to learn.

Rustcrates.ioApache License 2.0typesettingcompiler
typst.app
55k1.6k
JetBrains/kotlin

The Kotlin Programming Language.

Kotlinkotlinprogramming-language
kotlinlang.org
53.2k6.4k
parcel-bundler/parcel

The zero configuration build tool for the web. 📦🚀

JavaScriptnpmMIT Licensemodule-bundlerbuild-tool
parceljs.org
44k2.3k
babel/babel

🐠 Babel is a compiler for writing next generation JavaScript.

TypeScriptnpmMIT Licensebabeljavascript
babel.dev
44k5.9k
ziglang/zig

Moved to Codeberg

ZigMIT Licensecompilerzig
ziglang.org/news/migrating-from-github-to-codeberg/
43.3k3.1k
evanw/esbuild

An extremely fast bundler for the web

GoGo ModulesMIT Licensetypescriptminifier
esbuild.github.io
40k1.3k