Coq Topic Working Group Multicore - coq/coq GitHub Wiki

Goals

We aim to port Coq to OCaml's multicore, and improve Coq's utilization of threading primitives.

Methodology

The primary goals are:

  • to update Coq to use a functional / thread-safe handling of state.
  • to increase the opportunities of local computation [for example w.r.t. universes]

People

  • Emilio J. Gallego Arias
  • Gaëtan Gilbert
  • Pierre-Marie Pédrot

Miscellaneous links

Meeting log and planning

Next meeting

2021-09-15

Porting of the VM / native to multicore

  • porting the vm should be OK?

    Alloc_small needs some more parameters, not sure. Do we have bug for that in Coq already?

  • `native seems more complex:

    • set_tag: PMP "easy" to solve
    • naked_pointers: No current solution
  • PMP proposes to target "malfunction" as FL

How can Coq profit from threads?

PMP's plan of removing Future.t from the kernel?

  • branch at https://github.com/ppedrot/coq/tree/move-opaque-out-of-kernel
  • problem is how to design the API, so it is still "safe"
  • at some point we need some safe async programming paradigm, let it be algebraic effects, monads, or anything else; hard choice to make, and pervades the system
  • in general technical debt is a problem, maybe we should take Coq 9.0 more seriously?