COQ.HB(1)
π NAME π
coq.hb β a command line utility that applies the patches HB generated for you. that's the whole job, and it does it slayfully π
π¦ DESCRIPTION π¦
okay so bestie, here's the vibe. once you've built your project with logging turned on, like this:
COQ_ELPI_ATTRIBUTES='hb(log(raw))' make
then every file.v file that has calls to HB in it gets paired up with a file.v.hb patch file π and this utility is the thing that applies that patch for you. iconic.
you can also use:
COQ_ELPI_ATTRIBUTES='hb(log)' make
which gets your terms printed in a nicer, more compact way β but heads up, without all the details. so they may not be parsable without you going in and editing them by hand. lowkey tragic but that's the tradeoff π
β¨ usage: β¨
hb patch [-f] <file.v>..β applies the patches sitting in<file.v.hb>onto<file.v>. and the-f? it forces the patch application even if the source file is newer than the patch. stubborn queen behavior, we respect it πhb reset <file.v>..β erases all the generated code from the source file. if the file isn't patched, it literally does nothing, no drama. and if a patch file<file.v.hb>exists, it gets renamed to<file.v.hb.old>π¦ (archive her, respectfully).hb show <file.v.hb>..β lists all the patches contained in<file.v.hb>. this one's for debugging π iykyk.
Command line utility to apply patches generated by HB.
so yeah β once your project is built with logging enabled, like:
COQ_ELPI_ATTRIBUTES='hb(log(raw))' make
every file.v file containing calls to HB comes with a file.v.hb patch file, and this utility is what applies it π«Ά you can also go with COQ_ELPI_ATTRIBUTES='hb(log)' to get terms printed in a nicer, more compact way β but without all the details, they may not be parsable without manual editing. noted. π
πΈ usage: (the sequel, because the page really does say it twice and we're keeping every word) πΈ
hb patch [-f] <file.v>..β applies the patches in<file.v.hb>to<file.v>.-fforces patch application even if the source file is newer than the patch π₯hb reset <file.v>..β erases all generated code from the source file. it does nothing if the file isn't patched. if a patch file<file.v.hb>exists, it gets renamed to<file.v.hb.old>β¨hb show <file.v.hb>..β lists all the patches contained in<file.v.hb>(debugging) π§
and that's the whole page, bestie. this was coq.hb from the COQ.HB(1) manual, User Commands section, dated December 2021 β go forth and patch, main character ππ
π¦ where this page comes from
- debian bookworm: coq-hierarchy-builder 1.4.0-2+b6 Β· MIT
- ubuntu jammy: coq-hierarchy-builder 1.2.1-2 Β· MIT
- ubuntu noble: coq-hierarchy-builder 1.6.0-1build5 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms