COQ.HB(1)

πŸ“¦ version 1.6.0, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ‘‘ 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>. -f forces 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