vlang/v, vsl, vtl, setup-v + author of ulises-jeremias/rxvCore Team @ V · vlang/v · scientific · reactive · CI
Computational lab — four libraries, one Action, and a language. Verified contributions (no vanity counts), diagrams as code, pure-V backends by default.
Digital Nest · V world
I’m Core Team Member @ V. The site shows contributions with links to repos, commits, and reviewed PRs — not vanity counts. V is the language; VSL, VTL (V Tensor Library), RxV, and setup-v are the tools that make it usable for science, tensors, streams, and CI.
“Simple enough for a Friday afternoon. Fast enough for a production pipeline.” — V ecosystem
vlang/v, vsl, vtl, setup-v + author of ulises-jeremias/rxvv install vsl · v install vtl · v install ulises-jeremias.rxvgithub.com/vlang/* and ulises-jeremias/rxv — each card links to its repo, not to stars.vlang/v-mascot/LICENSE explicitly permits it with attribution. Otherwise this site uses an original V-inspired illustration and states the ambiguity plainly.src/data/project-worlds.ts for world metadata and src/data/routes.ts for canonical URLs.01 · language
V is a compiled language built to be simple and fast. One self-hosted compiler, C output, tcc bootstrap, predictable performance.
02 · scientific
High-performance numerics without system deps. Pure-V BLAS/LAPACK ships by default; drop in OpenBLAS/LAPACKe with a flag when you need peak throughput.
03 · tensors
Tensor[T] with slicing, broadcasting, and reverse-mode autograd. Build arbitrary graphs — then let nn layers compose them for you.
04 · reactive
Each operator spawns a lightweight thread and connects via chan Item[T]. No scheduler, no hidden state — just V channels.
05 · CI
The Action resolves version (tag, branch, commit, or .v-version), detects arch, restores cache, installs the binary, and verifies v version.
Architecture
V compiles it. VSL and VTL compute it. RxV streams it. setup-v installs it. Tab or use a screen reader to walk each node — SVG has title, desc, and keyboard focus per surface.
Structure: V at the top, VSL/VTL/RxV in the middle row, setup-v distributing at the bottom. Arrows show dependency flow.
All projects MIT. Install V via vlang/setup-v@v1 and add libraries with v install vsl / v install vtl / v install ulises-jeremias.rxv.
Ecosystem
V is the root. VSL and VTL handle numbers and learning. RxV handles time. setup-v and Awesome V handle distribution and discovery. Each ships MIT, each stands alone.
Simple, fast, safe compiled language — Go-like syntax, C-like speed, single bootstrap.
Core Team — compiler, tooling, docs, ecosystem
V Scientific Library — pure-V BLAS/LAPACK, linear algebra, stats, visualization.
Maintainer — pure-V backends, fractals, benchmarks
V Tensor Library — n-dimensional Tensor[T], autograd, neural networks, VSL-backed LA.
Maintainer — Tensor core, autograd graph, Sequential API
ReactiveX for V — generic Observable[T], channel pipelines, composable operators.
Author — channels, operators, specs
GitHub Action for V — version, arch, cache, install, verify. One line, every OS.
Maintainer — install flow, caching, arch detection
Curated catalog — libraries, tools, and community picks for the V ecosystem.
Curator — scientific + template picks
02 · VSL
VSL ships pure-V BLAS/LAPACK with no system deps. Flip a compile flag and it delegates to OpenBLAS / LAPACKE. Deterministic fractals (Sierpinski, Mandelbrot, Julia) prove both paths pixel-identical — with graceful CPU fallback and prefers-reduced-motion support.
default · Zero-dep deploy, cross-platformOpenBLAS (CBLAS) -d vsl_blas_cblas · Max throughput when C libs availableLAPACKE -d vsl_lapack_lapacke · LAPACK at C speedMatrices, vectors, eigen, SVD, QR, Cholesky — same APIs whether pure-V or C-backed. Tests are the spec; benchmarks prove parity.
v run benchmarks/blas_bench.v to compare backendsScientific plotting with a Plotly-shaped API. Heatmaps, histograms, spectrograms — CPU path first, acceleration opt-in.
Try locally: v install vsl → v run examples/*/main.v. Docs: vlang.github.io/vsl ↗. Source: vlang/vsl ↗.
03 · VTL
Every Tensor[T] is a view. Wrap it in a Variable via Context and each op records a gate. Call backprop() and gradients flow backward — scalars first, then generalized. Hover or focus the graph to see forward (solid) vs backward (dashed) edges.
Create zeros, ones, or from_slice. Slice and broadcast without copy. When you need learning, wrap via Context and let every op emit a gate.
mut ctx := autograd.ctx[f64]()
mut x := ctx.variable(vtl.zeros[f64]([64, 784]))
y := model.forward(x)!
loss.backprop()!Sequential piles Linear → Activation. Losses are variables too — pick MSE, BCE, or CrossEntropy and the graph knows how to differentiate it.
Sequential: input([784]).linear(256).linear(10)04 · RxV
Create an Observable[T] and chain: source → filter → map → merge/reduce → subscriber. Each step spawns one thread, communicates via chan Item[T], and forwards error + completion. Deterministic, generic, zero-deps.
V channels are typed, buffered, and cheap. RxV leans on them — no global scheduler, no hidden queue. If you know go or spawn, you know RxV.
ObservableImpl[T] generic over any TItem[T]{ error: IError }Item[T]{ is_closed: true } for completionV doesn’t allow generic methods with extra type params, so .map is rxv.map_[T,U](mut obs, fn). Verbose once, clear forever — types stay explicit.
mut obs := rxv.range(1, 10)
mut evens := obs.filter(fn (v int) bool { return v % 2 == 0 })
mut doubled := rxv.map_[int,int](mut evens, fn (v int) ?int { return v*2 })
done := doubled.for_each(…)
_ = <-doneInstall: v install ulises-jeremias.rxv → import ulises_jeremias.rxv. Docs: ulises-jeremias/rxv ↗. Operators reference: docs/OPERATORS.md.
05 · setup-v
uses: vlang/setup-v@v1 resolves version, detects arch, restores cache, fetches the prebuilt binary, writes it to PATH, and exposes outputs. On exotic arches it warns and falls back gracefully — no sudo, no build unless you ask.
GitHub cache keyed by version+OS+arch. Cache hit skips the binary download — CI goes from ~40s to ~4s. Core Team keeps prebuilts for x64 + arm64 on every tag.
- uses: vlang/setup-v@v1
with:
version: '0.4.9' # or .v-version
cache: trueAccepts tag (0.4.9), branch (master), commit SHA, or file path (.v-version). No token needed for tags — uses blob fetch.
latest, stable, semver rangeaction.yml post entryAction: vlang/setup-v ↗ · Marketplace:vlang/setup-v@v1 · Cache docs via README.md inputs table.
License verification
This site and the V ecosystem share MIT. Veasel (mascot) is included only ifvlang/v-mascot/LICENSE allows it with attribution; otherwise use an original V-inspired illustration (non-derivative) — no Veasel binary is embedded here.
MITLICENSE — Copyright (c) 2025-2026 Ulises Jeremias Cornejo Fandos
V feature content and /v page under the site MIT license.
MIT / CC0 (awesome-v list)vlang/* LICENSE (MIT); awesome-v CC0 1.0
Core V libraries maintained with the V community. awesome-v catalog is CC0.
MITulises-jeremias/rxv/LICENSE (MIT)
ReactiveX for V by Ulises Jeremias. Zero dependencies, public API MIT.
CC BY-NC 4.0 — not used commercially heregithub.com/vlang/v-mascot
This site does not ship Veasel assets. Commercial or derivative use requires checking v-mascot LICENSE (CC BY-NC). Prefer original V-inspired diagrams.