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

Releases

Sponsor this project

Packages

Used by

Contributors