Skip to content

vic/vic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Hi, I'm Vic 👋 [about me]

Compilers · Effect Systems · Nix · Functional Programming

Sponsor @vic   CV — 25+ years

Apache Software Foundation PMC   den in production at the European Commission   1,300+ stars across 25+ libraries

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.


🚀 dnx — a new Nix engine

dnx   docs

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.

💜 Sponsor dnx →


🧩 The denful Ecosystem

It all started with my little import-tree lib 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

  • den — context-aware, aspect-oriented configuration framework — used in production by the European Commission
  • import-tree — recursively import every Nix module in a tree; the ecosystem's most widely adopted library
  • flake-aspects — zero-dependency aspect composition with dependency DAGs and parametric providers
  • flake-file — generate flake.nix from typed Nix module options
  • dendrix — community-driven Nix distribution on the Dendritic pattern
  • checkmate — zero-dependency flake checker: treefmt + nix-unit

Algebraic Effects & Type Theory

  • nfx — algebraic effects with handlers for Nix, from four kernel primitives
  • fx-rs — ability-style algebraic effects for stable Rust (after Scala's Kyo)
  • fx.go — algebraic effect-handler system for Go with typed capabilities
  • rust-effects — freer-monad effects + an MLTT dependent type checker for stable Rust
  • nix-effects — effect system with dependent & linear types + a HOAS checker for Nix

Streams, FRP & Tooling

  • zen — ~100-line Nix module system, MLTT-verified, ~26× faster than lib.evalModules
  • ned — stream-based functional-reactive programming for Nix, inspired by Cycle.js
  • bend — lens-based bidirectional parser-combinators for Nix. Parse, don't validate.
  • nest — declarative multi-node NixOS fleets with a CSS mental model
  • nix-versions — find nixpkgs revisions for historical package versions
  • vix — my multi-host NixOS + Darwin infra; the ecosystem's proving ground
📦 More work — Scala · Elixir · Go · Emacs · interaction nets

☕ Scala

  • zio-logic — μKanren-inspired relational/logic programming for ZIO2
  • laminar_cycle — Cycle.js style user-computer model in Laminar
  • nonono — Scala 3 compiler plugin to prevent unsafe function calls
  • katan — logic language on typed concatenative effects
  • mill-docker — minimalist distroless Docker images for Java apps with Mill

💧 Elixir

  • params — Ecto-style parameter validation/casting
  • pit — extract/transform values in Elixir pipe flows
  • expat — reusable, composable patterns across Elixir libraries
  • ok_jose — pipe functions matching ok/error tuples
  • pond — state-aware functions without spawning processes
  • happy — the alchemist's happy path with Elixir

🐹 Go

  • GoDNet — Delta Interaction Nets reduction engine & compiler backend
  • GoDNix — a Nix language compiler into Delta Interaction Nets
  • leader — Vim/Evil leader-key for your $SHELL

🤖 Emacs Lisp

  • rebecca-theme — the purple turtle theme for Spacemacs
  • ido-better-flex — better fuzzy matching for Emacs ido-mode
  • vee — Vic's Emacs Environment
🤝 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

🙋 About Me

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."

💼 Work With Me

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

📄 Read my full CV →


📬 Connect


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


Vic's GitHub card

About

vic readme

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors