Black Hole

From Gambit wiki

Revision as of 22:23, 3 October 2013 by Kurt Miebach (talk | contribs) (Adding link to the latest install instructions. Update information about alpha release tutorial.)

Black Hole (“BH”) is a module system abstraction for Gambit providing recurring module file dependency compilation and loading, including export of macros, for regular R5RS Scheme.

Read further in the Introduction section of the documentation, found below.


Its latest version is avilable via GIT, and can be downloaded using GIT by

git clone git://

There are also some libraries for Black Hole at

git clone git://

or non-automatically, probably very old copy here.

Make sure you put the blackhole-libs into a directory called "std" in ~~/lib/modules


Be sure to checkout Mikael's setup guide for Black Hole from nov. 2012:

Core documentation (2009): PDF, OpenOffice and Microsoft Word

Bundled libraries documentation (2009): PDF, OpenOffice and Microsoft Word

(The tutorial for the alpha release is no longer available. The old site is now offline.)

Bundled libraries

BH is bundled with a set of general purpose libraries, including:

  • SRFI 1 (list processing), 13 (string), 14 (character sets), 16 (case-lambda support), 19 (time data types and procedures), 95 (sorting) and MORE (check the repository)
  • pregexp, hash digestion, base64 handling, UUID generator
  • HTTP client, server, URI and session variable handling
  • XML<->SXML routines
  • FIFO queue, mailbox, weight balanced tree, erlang-style list matcher
  • String, u8vector, list, exception handling helper libraries
  • let-optionals support

BH's core is completely independent of the bundled libraries, and can be separated from them without any modifications.

See the documentation for more information.

Additional libraries

Termite: A version suited for usage in Black Hole is found at GitHub,

Blackhole-web: More extensions to BlackHole for use as a web framework are here: Currently it is just a copy of SSAX-SXML, but more are planned. Check the file for more information on what is to be done, and what is planned.