- A computer science bachelor's student that likes a good type system.
- I am currently researching and building Miru. It is a statically typed Lisp+ML hybrid that uses algebraic effect handlers for all non-local control flow (even errors are just a subset of effects that discard their continuations). The primary objective was to combine the type safety of OCaml with the ergonomics of Clojure with differences drawn where it made sense. It was and still is heavily inspired by Shen and Koka.
- I also like reproducible systems and almost all[0] of my projects can be
scaffolded using Nix.
- Check my .dotfiles if you want to get started with Nix.
- It implements the Dendritic Pattern, packages a lot of software not in nixpkgs like Helium, CLAP plugins like NeuralRack and Ratatouille that can load NeuralAmpModeler files and other WaveNET based formats, CUDA-enabled Blender and OBS-Studio among other things.
- I also maintain my Cachix @ debarchito.cachix.org which makes it easy to distribute the custom/modified Nix packages.
- The repository also implements a simple templating engine creatively named
generate
since nixpkgs's default templating system leaves a lot to be designed
(parameter substitution is one such thing). It can scaffold idiomatic
projects for OCaml (using opam-nix),
Rust (using crane for better cache
utilization), and Python (using
uv2nix). For e.g., get started
with a Rust project using:
nix run github:debarchito/.dotfiles#generate rust ./hello-world \ name="hello-world" description="Say hello to the world!" # You can build the demo application directly using Nix: nix run ./hello-world # The development shells are ready to be used: cd hello-world && direnv allow
[0] Some old projects are yet to be Nix-ified.
To note, this GitHub profile is largely a discoverability asset. I also use it when I want to fork repositories on GitHub or contribute to projects. Other than that, I do most of my development on git.sr.ht/~debarchito. I do enjoy the mailing-list aspect of decentralized VCS :D.




