Mon 27 Jan 2025

babel

DONE multi-version optional dependencies for PubGrub

Which as far as I can tell hasn’t been done before.

PubGrub opam dependency provider

  1. DONE json representation of opam repositories

    using opam2json

  2. DONE parse json representation to rust

    using serde

  3. TODO minimal example

    1. DONE opam_version.rs

      done and MVP with integer versions, but the full ordering is complicated

    2. DONE index.rs

    3. DONE opam_deps.rs

    4. DONE main.rs

  4. TODO proper opam version parsing (a la Debian)

    https://opam.ocaml.org/doc/Manual.html#Version-ordering

  5. TODO conflicts

  6. TODO boolean logic (package formula)

  7. TODO features (optional dependencies)

  8. TODO parse repo on the fly in the dependency provider

TODO create babel-repository and babel-solver

TODO explore error reporting in these exotic encodings

what is the research advance here?

  • tool to solve across ecosystems
  • de-duplication between names
  • evaluate the tooling
  • need to evaluate against a base case, and justify that the problem exists
  • could use the PubGrub formalism, though I think ours is slightly different

TODO read up on answer set programming

https://pubgrub-rs-guide.pages.dev/internals/intro is a good starting point

spoke to anil about bushel (the new static site generator)

had some interesting thoughts on using the at proto with capnroto capabilities to e.g. update dns records

Spatial Name System

Got capnproto compiling for an ESP chip with Josh (we think)

https://github.com/j0shmillar/esp-capnp-test need to test it with a simple RPC

Sent ‘Practical Modelling with Bigraphs’ over to Roy [1]

[1]
B. Archibald, M. Calder, and M. Sevegnani, “Practical Modelling with Bigraphs,” May 31, 2024. [Online]. Available: http://arxiv.org/abs/2405.20745. [Accessed: Jan. 29, 2025]