Rewrite the bundle machinery to separate interface and predicate.
authorChris Hanson <org/chris-hanson/cph>
Sat, 6 Jan 2018 02:58:26 +0000 (21:58 -0500)
committerChris Hanson <org/chris-hanson/cph>
Sat, 6 Jan 2018 02:58:26 +0000 (21:58 -0500)
commit2d9853a6ffb81cf6e0981cfb2a22861ae744566d
tree48017d82bf724c1b268b7875f166950286ae0426
parente8661cb8c4a2c29fc9854b1450822694fc36566f
Rewrite the bundle machinery to separate interface and predicate.

Change define-bundle-interface to require its definition names to be
spelled out in the definition rather than being constructed by the macro; the
result is much like define-record-type.

Change the bundle lookup to use a binary search rather than a linear search,
which will help when using large bundles.  Although we might want to have a more
flexible search strategy since it's not exposed to the end user.

Add support for pretty-printing bundles similarly to records.
src/runtime/bundle.scm
src/runtime/mit-macros.scm
src/runtime/runtime.pkg