GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — jonaprieto - Overview

@jonaprieto jonaprieto Follow
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
@jonaprieto
jonaprieto
Follow
View jonaprieto's full-sized avatar

jonaprieto

Follow
Research Engineer. Interested in formal methods, compilers, and distributed systems.
59 followers · 1 following
  • 09:38 (UTC -05:00)
  • https://jonaprieto.github.io/
  • https://orcid.org/0000-0002-8449-3812

Achievements

Achievement: Pull Sharkx4Achievement: Pair Extraordinairex3Achievement: QuickdrawAchievement: YOLOAchievement: Arctic Code Vault ContributorAchievement: Starstruck

Achievements

Achievement: Pull Sharkx4Achievement: Pair Extraordinairex3Achievement: QuickdrawAchievement: YOLOAchievement: Arctic Code Vault ContributorAchievement: Starstruck

Highlights

  • Pro

Organizations

@agda
More
  • Overview
  • Repositories
  • Projects
  • Packages
  • Stars
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.
  • Strata, my fork of cristipufu's file manager, with Magit-style git, a history panel and a terminal drawer.
  • PureMac, my fork of momenbasel's Mac cleaner, with Free Up and Clean in the menu bar and Move to Trash in Space Explorer.
  • 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:

  • Grip, a graded parser-combinator library, inspired by prim-parser. Recursive parsers terminate without partial.
  • grip-tptp, TPTP on Grip.
  • grip-json, JSON on Grip.
  • grip-diagnostics, readable parse errors.
  • Argus, typed command-line parsing; help and shell completions come from one spec.
  • termcolor, ANSI colours and styled text, with layout, diagnostics, widgets, terminal and repl.
  • calc-chat, a chat-shaped terminal calculator, to try termcolor.
  • precommit-lean, hooks for Lean style, module names and allowed axioms, plus the /lean-format command.
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:

  • juvix-docs, vscode-juvix, juvix-stdlib and juvix-mode, which I maintained.
  • juvix-mkdocs, literate docs, used for the Juvix tutorial.

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:

  • online-atps, runs the provers on SystemOnTPTP.
  • apia, which I contributed to, proves Agda first-order goals with them.
  • athena, turns Metis proofs into Agda terms.
  • agda-prop and agda-metis, propositional logic and Metis proofs in Agda, tested on prop-pack.

From my PhD:

  • Synthetic graph theory, graphs in HoTT.
  • agda-unimath, univalent mathematics in Agda. I co-created it, but have been mostly away since.
  • hott-cheatsheets and mini-hott, if you are learning HoTT.

Older still:

  • agda-pkg, apkg, a package manager for Agda. Unmaintained; I don't think Agda needs one anymore.
  • flask-ponywhoosh, full-text search for Flask, on ponywhoosh.
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. UniMath/agda-unimath UniMath/agda-unimath Public

    The agda-unimath library

    Agda 318 105

  2. lean-argus lean-argus Public

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

    Lean 1

  3. oatp oatp Public

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

    Lean 1

  4. lean-grip-diagnostics lean-grip-diagnostics Public

    Rich source-annotated diagnostics for Grip parser failures

    Lean 3

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

  6. tess tess Public

    Keyboard-first tiling window manager for macOS that never hides a window. A letter on every window, a ⌘Space picker for windows, tabs, apps and files, and a ⌘Tab that shows windows.

    Swift 3

Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.

Uh oh!

There was an error while loading. Please reload this page.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.