Hi, I'm Vic 👋 [about me]
Compilers · Effect Systems · Nix · Functional Programming
Open-source author since 1999 · GitHub User #331 · Mexico City 🇲🇽
Important
I build public infrastructure in the open — no VCs, no equity, free and libre forever. The biggest of it is dnx: a new parallel Nix engine.
A rootless, single-binary Nix evaluator built on Δ-Nets (Salvadori, arXiv:2505.20314 · deltanets.org) — interaction nets with optimal parallel λ-reduction and perfect confluence (a proven theorem of the model).
What sets it apart — one built, one designed:
- ⚡ Parallel by construction (built · verified across 1–8 threads) — confluence means independent reductions touch disjoint memory, so they fire lock-free. Parallelism is a property of the model, not bolted onto thunks.
- 🧠 A semantic cache (designed) — it will key on a computation's meaning (the canonical normalized net) rather than a recipe hash, so two expressions that compute the same thing would collapse to one cache key.
Research-grade and early — but the bet is big: that package managers, language runtimes, and proof assistants are secretly the same problem, and one mathematically-grounded engine can be all three.
It all started with my little
import-treelib and has grown into more than 30+ repos, so I created an umbrella GitHub ogranization for them and building composable Nix tools — aspects, algebraic effects, evaluation, and the dnx runtime. Nix is powerful, yet its libraries rarely compose; denful brings them together. 1,300+ ⭐ · 25+ libraries · in production at the EU Commission. Docs at denful.dev · all repos →
Aspect-Oriented Nix
— context-aware, aspect-oriented configuration framework — used in production by the European Commission
— recursively import every Nix module in a tree; the ecosystem's most widely adopted library
— zero-dependency aspect composition with dependency DAGs and parametric providers
— generate
flake.nixfrom typed Nix module options— community-driven Nix distribution on the Dendritic pattern
— zero-dependency flake checker: treefmt + nix-unit
Algebraic Effects & Type Theory
— algebraic effects with handlers for Nix, from four kernel primitives
— ability-style algebraic effects for stable Rust (after Scala's Kyo)
— algebraic effect-handler system for Go with typed capabilities
— freer-monad effects + an MLTT dependent type checker for stable Rust
— effect system with dependent & linear types + a HOAS checker for Nix
Streams, FRP & Tooling
— ~100-line Nix module system, MLTT-verified, ~26× faster than
lib.evalModules— stream-based functional-reactive programming for Nix, inspired by Cycle.js
— lens-based bidirectional parser-combinators for Nix. Parse, don't validate.
— declarative multi-node NixOS fleets with a CSS mental model
— find nixpkgs revisions for historical package versions
— my multi-host NixOS + Darwin infra; the ecosystem's proving ground
📦 More work — Scala · Elixir · Go · Emacs · interaction nets
☕ Scala
— μKanren-inspired relational/logic programming for ZIO2
— Cycle.js style user-computer model in Laminar
— Scala 3 compiler plugin to prevent unsafe function calls
— logic language on typed concatenative effects
— minimalist distroless Docker images for Java apps with Mill
💧 Elixir
— Ecto-style parameter validation/casting
— extract/transform values in Elixir pipe flows
— reusable, composable patterns across Elixir libraries
— pipe functions matching ok/error tuples
— state-aware functions without spawning processes
— the alchemist's happy path with Elixir
🐹 Go
— Delta Interaction Nets reduction engine & compiler backend
— a Nix language compiler into Delta Interaction Nets
— Vim/Evil leader-key for your
$SHELL
🤖 Emacs Lisp
🤝 Community & upstream contributions
| Project | Role |
|---|---|
| Apache Buildr | Core contributor · ASF member · PMC chair |
| asdf-vm | Maintainer and plugin author |
| jjui | Active contributor to this jj TUI |
| Rubinius | Early contributor — implemented Enumerable in Ruby |
| Ragel | Ruby and Rubinius VM code backends |
| effects-bibliography | Collaborative bibliography of computational effects |
| Darcs · Fancy · vtd-xml | Contributor |
I've been writing open source since 1999 — learning by reading other people's code, late nights and weekends, for years. In 2023 I burned out and stepped away from tech entirely. I spent that time with poetry, art, and theology, and came back with more energy and more love than ever.
Now I build dnx and berean.faith — a scripture-study platform where the Bible explains itself — and I think of both as acts of love, not just engineering.
- 🟣 I love the Rebecca purple color, Rothko paintings, and effect systems
- 🎹 I obsess over my Glove80 keyboard and finding layouts that reduce finger stress
- 🔇 ~50% hearing loss — open source has always been my voice; written and async is where I feel at home
- ✝️ Seventh-day Adventist — I believe my life's purpose is Love, and that we don't author it, it authors us
- 💜 I'm single — feel free to fix this 😄
- 🥔 Leave a potato — or literally anything else. Just say "Hey, here's a potato."
25+ years across compilers & language implementation, algebraic effects, functional programming, and Nix infrastructure. Open to remote roles in any of those.
- Primary — Rust · Nix · Go · Scala · Elixir
- Also fluent — Haskell · Elm · Ruby · TypeScript
- Paradigms — functional programming · algebraic effects · interaction nets · actor model · type theory · dependent types (MLTT)
- Infrastructure — NixOS · Kubernetes · Terraform · Docker · CI/CD
- 💬 Open a discussion — about anything; I'd love to hear from you
- ✉️ vborja@apache.org — for business (and spam)
- 🦋 Bluesky · X — @oeiuwq
If something I made saved you time, supporting the person behind it is what keeps it free and in the open. 🙏
💜 Become a Sponsor · ☕ Buy me a coffee







