Skip to content
View jonaprieto's full-sized avatar

Highlights

  • Pro

Organizations

@agda

Block or report jonaprieto

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jonaprieto/README.md

Hello there! I use this account for personal projects but also for work. I like building things from math projects to everyday software.

At work, I'm an R&D engineer at Heliax, currently, developing core components for Anoma's web4 systems in Elixir and TypeScript. I also review Solidity smart contracts as part of this gig.

In my spare time, I'm learning Lean and using Agda for my HoTT constructions. For AI-driven web apps, I use Elixir and Phoenix. Phoenix is a big reason I switched from Python to Elixir for building apps.

Things I built for myself:

  • PaperShelf, the PDF reader and library manager I wish I'd had years ago.
  • folio, finds and downloads a book or paper from the terminal.
  • tess, a keyboard-first tiling window manager.
  • EdgeMark, my fork of Ender-Wang's side-panel notes app, synced to GitHub.
  • nuphy-air96, the keymap and a menu bar app for my NuPhy Air96 keyboard.
  • zkit, a numbered ls, so rm 3 removes what I just saw.
  • Sombra, an Android TV app for my TV: it plays from Stremio addons and turns subtitles into language practice (private repo).
In the works

OATP, a Lean 4 REPL and CLI for automated theorem provers. It parses TPTP and runs local and online provers. It started as my Haskell online-atps.

What I wrote for it along the way:

More (old) projects: Juvix, distributed systems, Agda and HoTT

I used to think Haskell would become the next big language for me at least. Now I think it is any theorem prover with general-purpose programming support and dependent types. That is Lean 4, it could have been Agda, but AI simply pushed Lean so much, made it mainstream, that it would be a mistake to not learn it, and it's really fun, actually! I still miss Agda-way of proving things, proof-term construction I mean.

At Heliax, on the Juvix language, where I was one of the main contributors:

Distributed systems, also at Heliax:

  • mailbox-actors, an actor model where mailboxes are actors too.
  • Engines, the same idea for Anoma's node protocols, with a ticker as the example.
  • elixir-tango, a small Tango: replicated in-memory data structures.
  • AVM Lab, a formal spec of a distributed virtual machine, down to interaction trees.

From my master's:

From my PhD:

Older still:

A note on AI

Nowadays, I build with agentic tools at work and have more recently started using them for my personal projects. A lot of people are against it for several reasons. To me, AI is another tool in my toolbox. I continue building as before, but more, and it is hard to keep the same level of supervision. For the projects I really need, I still write and review every line. But I don't want to spend all my time and energy reviewing everything I try. Some of these projects were built with AI, some only in part, some on my own, and some before any of this. The level of supervision varies. That distinction stopped mattering to me.

Notes and talks at jonaprieto.github.io.

Pinned Loading

  1. HoTT/book HoTT/book Public

    A textbook on informal homotopy type theory

    TeX 2.2k 380

  2. UniMath/agda-unimath UniMath/agda-unimath Public

    The agda-unimath library

    Agda 318 104

  3. lean-argus lean-argus Public

    Typed command-line parsing for Lean 4 with derived help and shell completions

    Lean

  4. oatp oatp Public

    Lean 4 ATP orchestration, TPTP artifacts, and rich terminal diagnostics

    Lean 1

  5. lean-grip-diagnostics lean-grip-diagnostics Public

    Rich source-annotated diagnostics for Grip parser failures

    Lean 2

  6. folio folio Public

    Find and download books and papers from the terminal, or from an AI agent. Searches LibGen, downloads through Anna's Archive, LibGen and IPFS. One stdlib Python file.

    Python 10 1