bo2bloogle - #969
bo2bloogle#969matx-amy wants to merge 7 commits into
Conversation
|
(oh, would appreciate a review at this point, but hold off on merging -- the bloogle CLI is undergoing refactoring, so the usage text might change) |
This adds a new utility, bo2bloogle. This utility reads .bo files and dumps them in a format that Hoogle can read. Symbols whose names are not valid Haskell (e.g. $display) currently get dropped. Field accessors get emitted as e.g. foo instead of (.foo). I'll be pushing a fork of Hoogle called Bloogle soon -- allowing both of these in it is a worthwhile long-term goal, but isn't worth it in the short term.
This is not immediately usable with Bloogle, but needs a
bloogle generate db.hoo /path/to/inst/lib/bloogle
to produce the database Bloogle uses. Only shipping this avoids a
dependency on Bloogle, but also makes it easier to build a custom
database that includes both the standard library and third-party
libraries.
|
This is in a mergeable state now, I think; the standalone Bloogle tool is probably something we can release soon, but idk what the process is for that -- will ask around. Releases now include bo2bloogle and a prebuilt set of declarations for the stdlib that Bloogle can build an index for. |
936's strict-ByteString readBinFile is upstream now; 969's tool still unpacked to [Word8] (rc3 build-5's twin; outside both typechecked closures, so only the full build caught it). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019cqQdWKp7jr73GHQYnvhiq
|
Can somebody with privileges rerun the failing CI job? looks like a transient network failure |
I have queued re-running the failed job. |
This lets e.g. B-Lang-org#970 use it as well instead of reimplementing it.
|
BTW, https://bloogle.bluespec.dev/ is now live; thanks to @matx-yehowshua for hosting that! |
|
(Latest commit to correspond to MatX-inc#179) |
This adds a new utility, bo2bloogle. This utility reads .bo files and dumps them in a format that Hoogle can read.
Symbols whose names are not valid Haskell (e.g.
$display) currently get dropped. Field accessors get emitted as e.g.fooinstead of(.foo). I'll be pushing a fork of Hoogle called Bloogle soon -- allowing both of these in it is a worthwhile long-term goal, but isn't worth it in the short term.The fork of Hoogle (Bloogle) has now been made public and is now hosted at https://bloogle.bluespec.dev/.
See its readme or run
bo2bloogle --help(orbo2blooglewith no args) for usage instructions.