Do not extend nREPL with registers -- the protocol is trivial, the implementation is a whole debugger. Emit DWARF from the LLVM backend and use lldb-dap with dape; no adapter is written. C layout with no object headers means DWARF describes Flan structs exactly, so lldb needs no plugin or formatters. Reload mostly works with DAP for free: lldb watches the loader rendezvous and re-resolves breakpoint specs against new modules. The gotcha is our own never-unload rule -- N redefinitions leave N copies all claiming the same source line, so one breakpoint resolves to N locations. Needs per-generation DWARF source identity plus a reload agent that disables superseded locations. Cuts the instrumentation-based step debugger, the most expensive piece of milestone 8. Knock-on: &env stops being urgent, and the shadow stack shrinks to serving nREPL backtraces and restart enumeration.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%