https://gambitscheme.org/wiki/api.php?action=feedcontributions&user=Kurt+Miebach&feedformat=atomGambit wiki - User contributions [en]2024-03-29T14:52:20ZUser contributionsMediaWiki 1.35.3https://gambitscheme.org/wiki/index.php?title=Black_Hole&diff=2654Black Hole2013-10-03T23:32:41Z<p>Kurt Miebach: /* Documentation */</p>
<hr />
<div>'''Black Hole''' (“BH”) is a module system abstraction for [[Documentation|Gambit]] providing recurring module file dependency compilation and loading, including export of macros, for regular R5RS Scheme.<br />
<br />
Read further in the Introduction section of the documentation, found below.<br />
<br />
== Download ==<br />
Its latest version is avilable via GIT, and can be downloaded using [http://www.git-scm.org GIT] by<br />
<br />
:<nowiki>git clone git://github.com/pereckerdal/blackhole.git</nowiki><br />
<br />
There are also some libraries for Black Hole at<br />
<br />
:<nowiki>git clone git://github.com/pereckerdal/blackhole-libs.git</nowiki><br />
<br />
or non-automatically, probably very old copy [[media:Black_Hole.zip|here]].<br />
<br />
Make sure you put the blackhole-libs into a directory called "std" in ~~/lib/modules<br />
<br />
== Documentation == <br />
<br />
Core documentation (2009): [[media:Black_Hole_Core.pdf|PDF]], [[media:Black_Hole_Core.odf|OpenOffice]] and [[media:Black_Hole_Core.doc|Microsoft Word]]<br />
<br />
Bundled libraries documentation (2009): [[media:Black_Hole_Bundled_libraries.pdf|PDF]], [[media:Black_Hole_Bundled_libraries.odf|OpenOffice]] and [[media:Black_Hole_Bundled_libraries.doc|Microsoft Word]]<br />
<br />
(The tutorial for the alpha release is no longer available. The old site http://mwaza.dyndns.org/apps/files/bh-tutorial.html is now offline.)<br />
<br />
There is a setup guide by Mikael for Black Hole from nov. 2012: https://mercure.iro.umontreal.ca/pipermail/gambit-list/2012-November/006188.html<br />
<br />
== Bundled libraries ==<br />
BH is bundled with a set of general purpose libraries, including:<br />
<br />
*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)<br />
*pregexp, hash digestion, base64 handling, UUID generator<br />
*HTTP client, server, URI and session variable handling<br />
*XML&lt;-&gt;SXML routines<br />
*FIFO queue, mailbox, weight balanced tree, erlang-style list matcher<br />
*String, u8vector, list, exception handling helper libraries<br />
*let-optionals support<br />
<br />
BH's core is completely independent of the bundled libraries, and can be separated from them without any modifications.<br />
<br />
See the documentation for more information.<br />
<br />
== Additional libraries ==<br />
Termite: A version suited for usage in Black Hole is found at GitHub, http://github.com/pereckerdal/termite/tree/master.<br />
<br />
Blackhole-web: More extensions to BlackHole for use as a web framework are here:<br />
http://github.com/jonnay/Blackhole-web. Currently it is just a copy of SSAX-SXML, but more are planned. Check the Blackhole-web.org file for more information on what is to be done, and what is planned.</div>Kurt Miebachhttps://gambitscheme.org/wiki/index.php?title=Dumping_Grounds&diff=2653Dumping Grounds2013-10-03T22:34:00Z<p>Kurt Miebach: Add info about https support, add link to instructions.</p>
<hr />
<div>Here you will find packages of Gambit code contributed by users. This page is meant as a simple repository where random code snippets as well as complex systems can easily be stored so that other users can get to them. This is not a substitute for a repository that is closely coupled with the Gambit system's module system (which is under development). It is meant to foster the sharing of code by making it extremely easy to publish code in a publicly accessible place. Sharing a piece of code that is incomplete, undocumented, and unreliable is better than not sharing it, because others can correct the deficiencies, learn from the code, or avoid the bugs. Hence the name '''Dumping Grounds''' for this page.<br />
<br />
The code need not follow a specific structure. It could simply be a Scheme source file (with a '''.scm''' extension). However, if you are packaging your code specifically for storing it here, it is best if the name of the package contains a revision number (so that many revisions can be stored) and is a gzip compressed tar file ('''.tgz''' extension) containing the code and documentation (for example file '''Sort-r1.tgz''' containing the files '''Sort-r1/Sort.scm''' and possibly '''Sort-r1/Sort.html''' and other related files). For some reason the wiki insists on the package name starting with an upper-case letter. The code is assumed to be in the public domain unless you add licensing information in the package itself or the documentation.<br />
<br />
To add a new package you must add an entry for it to this page (copy-paste an existing entry), update the file name in the <nowiki>[[media:Sort-r1.tgz|Sort-r1.tgz]]</nowiki> link, save the page and click on the link to upload your file. If you upload a new revision don't forget to change the revision number, and keep the link to the old revisions.<br />
<br />
A list of the packages and other files with statistics is available here: [[Special:Imagelist]]<br />
<br />
In case you find that a link to an external repository linked to from this page doesn't work anymore, please try to retrieve the latest version of the repo and upload it here, by a) contacting the author directly, b) enquiring for it on the mailing list, and/or c) trying to get it from archive.org.<br />
<br />
==Gambit packages==<br />
These packages are in the present form created to run atop Gambit directly. They can generally easily be ported to any module system of choice.<br />
===SRFI===<br />
#'''SRFI-pack''': Many SRFIs ported to Gambit<br />
#: Author: Guillaume Germain<br />
#: Package: [[media:Srfi-pack-0.1.tar.gz|Srfi-pack-0.1.tar.gz]]<br />
#: README: [[media:Srfi-pack-0.1-README.txt|Srfi-pack-0.1-README.txt]]<br />
#'''SRFI-1''': SRFI-1 ported to Gambit<br />
#: Author: Olin Shivers; ported by Bradley Lucier<br />
#: Package [[media:Srfi1.scm|Srfi1.scm]]<br />
#: Note: I did not extend map to allow list arguments of different lengths<br />
<br />
=== Language ===<br />
# '''Gambit on LLVM''': Experimental partial back-end for Gambit using LLVM<br />
#: Authors: Arnaud Bergeron and Mathieu Larose<br />
#: Package: [[media:Gambit-LLVM.tgz|Gambit-LLVM.tgz]]<br />
# '''Jss''': JavaScriptScheme: a multithreaded Scheme to JavaScript compiler<br />
#: Author: Marc Feeley and Catherine Gaudron<br />
#: Package: [[media:Jss-r2.tgz|Jss-r2.tgz]] (old: [[media:Jss-r1.tgz|Jss-r1.tgz]])<br />
# '''R6RS on Gambit''':Allows R6RS programs to be run on Gambit. <br />
#: Maintainer: Arthur Smyles<br />
#: Package: (web page) http://smyles.com/projects/r6gambit/<br />
# '''PICOBIT''': Very compact Scheme compiler and virtual machine suitable for microcontrollers.<br />
#: Author: Marc Feeley and Vincent St-Amour<br />
#: Package: (web page) http://repo.or.cz/w/picobit.git<br />
# '''Alexpander''': A syntax-rules expander with support for DSSSL #!optional #!key and #!rest arguments.<br />
#: Author: Marco Benelli<br />
#: Package: [[media:Alexpander-r1.tgz|Alexpander-r1.tgz]]<br />
<br />
===Module systems===<br />
# '''Black Hole''': Module system, stable. Package handling features are in beta phase. Primary page at [[Black Hole]].<br />
#: Package: (git repo) [https://github.com/pereckerdal/blackhole https://github.com/pereckerdal/blackhole]<br />
#: Mirror for convenience, non-syntactictower Black Hole with bundled libs: [[media:2012-11-28-bh-non-syntactictower+bundled-libs.tar.gz|2012-11-28-bh-non-syntactictower+bundled-libs.tar.gz]]<br />
<br />
===Object Systems===<br />
# '''Oops''': Object Oriented Programming for Scheme -- Dylan/Clos-like but different<br />
#: Author: Ken Dickey<br />
#: Package: [[media:oops34.tgz|oops34.tgz]]<br />
# '''TinyTalk''': Self-like object system with selector [Smalltalk like] dispatch.<br />
#: Author: Ken Dickey<br />
#: Package: [[media:gambitTT.tgz|gambitTT.tgz]]<br />
# '''class.scm''': A simple CLOS-like object system written with a balance of performance, usability and runtime heap consumption. Comes bundled with a test suite which shows exemple of how the system can be used. Also can be used easily in a repl with (include "class.scm"). <br />
#: Author: David St-Hilaire<br />
#: Package: (web page/git repo) http://github.com/sthilaid/class/tree/master<br />
# '''Meroon''': CLOS-like object system for Scheme.<br />
#: Author: Christian Queinnec, now semi-maintained by Brad Lucier. Licensed under the [http://opensource.franz.com/preamble.html Lisp Lesser General Public Licence]. Differs from CLOS in (among many other things) having single inheritance instead of multiple inheritance and a compile-time, not a run-time, MOP. Can be compiled to be relatively fast code. Would benefit from being reorganized in a "layered" style more appropriate for current ideas of Scheme modules.<br />
#: Website: http://www.math.purdue.edu/~lucier/software/Meroon/<br />
#: Package: [[media:MeroonV3-2012Jan20.tar.bz2|MeroonV3-2012Jan20.tar.bz2]]<br />
<br />
=== FFI ===<br />
# '''ffi-related-modules''': various modules dealing with the FFI, and their dependencies (chjmodules, but someone might turn them to using bare namespaces or so; read the Readme file at the below URL)<br />
#: Author: Christian Jaeger<br />
#: Package: (web page/git repo) http://scheme.ch/gambit/preview/ffi-related-modules/<br />
<br />
===Parsing===<br />
# '''SSAX-SXML''': SSAX-SXML library packaged for Gambit-C<br />
#: Author: Kirill Lisovsky (updated by Dominique Boucher)<br />
#: Package: (web page) [[media:ssax-sxml-gambit-20080402.tgz|ssax-sxml-gambit-20080402.tgz]]<br />
# '''Mparser''': A combinatorial parser (added expression parser) (parser language rewrite)<br />
#: Author: Francesco Bracchi<br />
#: Package: [[media:Mparser-r3.tgz|Mparser-r3.tgz]] (old: [[media:Mparser-r1.tgz|Mparser-r1.tgz]], [[media:Mparser-r2.tgz|Mparser-r2.tgz]])<br />
<br />
===Physics===<br />
#'''Ising''': Computer simulations of the Ising model of spins using the Metropolis algorithm or the Wolff algorithm.<br />
#: Author: Marijn Schouten<br />
#: Package: [[media:ising-20090315.scm]]<br />
<br />
===Compression===<br />
#'''ZLib''': ZLib aka LibZ GZip compression library FFI<br />
#: Author: Mikael<br />
#: Package: [https://github.com/m-i-k-a-e-l/gambit-zlib https://github.com/m-i-k-a-e-l/gambit-zlib]<br />
<br />
===Math===<br />
# '''Pi''': Compute pi to arbitrary precision.<br />
#: Author: Marc Feeley<br />
#: Package: [[media:Pi-r3.tgz|Pi-r3.tgz]] (old: [[media:Pi-r2.tgz|Pi-r2.tgz]]) (old: [[media:Pi-r1.tgz|Pi-r1.tgz]])<br />
# '''BLAS''': Thin wrapper for level 1, 2 and 3 BLAS linear algebra routines for the Gambit Scheme system.<br />
#: Author: Pierre-Alexandre Fournier<br />
#: Package: (web page) http://carretechnologies.com/scheme/blas<br />
# '''LAPACK''': Thin wrapper for higher-level linear algebra routines for the Gambit Scheme system.<br />
#: Author: Pierre-Alexandre Fournier<br />
#: Package: (web page) http://carretechnologies.com/scheme/lapack<br />
# '''FFTW3''': A wrapper for some FFTW3 functions for the Gambit Scheme system. (real, complex, multi-dimensional FFT functions)<br />
#: Author: Pierre-Alexandre Fournier<br />
#: Package: (web page) http://carretechnologies.com/scheme/fftw3<br />
# '''Random numbers''': High-quality random number generation. Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=random http://snow.iro.umontreal.ca/?viewpkg=random]<br />
# '''GUROBI FFI''': This is a FFI that includes the most necessary commands for operating GUROBI from GAMBIT.<br />
#: Author: Magnus Andersson<br />
#: Package: [https://github.com/angelrussher/gurobi-ffi https://github.com/angelrussher/gurobi-ffi]<br />
<br />
===Encryption===<br />
# '''AES''' Message encryption and decryption based on the AES symmetric cipher. Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=aes http://snow.iro.umontreal.ca/?viewpkg=aes]<br />
# '''Cert''' Management of digital certificates, message signing and verification. Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=cert http://snow.iro.umontreal.ca/?viewpkg=cert]<br />
# '''RSA''' Message encryption and decryption based on the RSA asymmetric cipher. Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=rsa http://snow.iro.umontreal.ca/?viewpkg=rsa]<br />
<br />
<!-- ===Networking=== --><br />
<br />
===SQL===<br />
# '''MySQL FFI''': FFI for mysql. Unsure about thread-safety, and needs more work<br />
#: Author: Jonathan Arkell<br />
#: Package: (svn repository) http://bunny.jonnay.net/zengarden/trunk/lib/mysql/<br />
# '''MySQL''': Socket level client for mysql. Supports dynamic SQL and now prepared statements. Also includes a SQL abstraction layer. This [http://andrewwhaley.blogspot.com/2009/04/gambit-mysql-client-02.html blog post] has more information. For a more developed version w UTF8 support pls contact the ml.<br />
#: Author: Andrew Whaley<br />
#: Package: [[media:Gambit-mysql.zip|Gambit-mysql.zip]]<br />
# '''SQLite3''': a minimalistic interface to SQLite3.<br />
#: Author: Marco Benelli<br />
#: Package: [[media:SQLite3-r1.tgz|SQLite3-r1.tgz]]<br />
# '''Postgresql''': A socket level client for Postgresql<br />
#: Author: Francesco Bracchi<br />
#: Package: [[media:Postgresql-r1.tgz|Postgresql-r1.tgz]]<br />
<br />
===Graphics===<br />
# '''Octave''': A simple plotting interface using octave (2.x) and gnuplot.<br />
#: Author: Pierre-Alexandre Fournier<br />
#: Package: (web page) http://carretechnologies.com/scheme/octave/<br />
# '''Schemeray''': A simple (and as of yet, unoptimized) raytracer<br />
#: Author: James Long<br />
#: Package: [[media:schemeray-0.2.tgz|schemeray-0.2.tgz]]<br />
# '''Opengl FFI''': A simple opengl, glu and glut ffi which supports opengl up to version 1.1.<br />
#: Author: David St-Hilaire<br />
#: Package: [[media:Opengl-ffi-r1.tgz|Opengl-ffi-r1.tgz]]<br />
# '''Perlin Noise''': A simple opengl demonstration of a sub-optimal 2d Perlin noise implementation.<br />
#: Author: David St-Hilaire<br />
#: Package: [[media:Perlin-noise-2d-r1.tgz|Perlin-noise-2d-r1.tgz]]<br />
# '''Cairo''': Bindings for cairo graphics.<br />
#: Author: Marco Benelli<br />
#: Package: [[media:Cairo-r3.tgz|Cairo-r3.tgz]] (old: [[media:Cairo-r2.tgz|Cairo-r2.tgz]])<br />
# '''GLEW''': A wrapper for GLEW which provides all OpenGL functionality through version 2.1 and manages access to vendor extensions<br />
#: Author: Fred LeMaster<br />
#: Package: [[media:Glew.tar.gz|glew.tar.gz]]<br />
<br />
===Audio===<br />
# '''mpg123''': A wrapper for the libmpg123 mpeg decoding library<br />
#: Author: Fred LeMaster<br />
#: Package: [[media:mpg.tar.gz|mpg.tar.gz]]<br />
# '''OpenAL''': A wrapper for the OpenAL audio output library<br />
#: Author: Fred LeMaster<br />
#: Package: [[media:openAL.tar.gz|openAL.tar.gz]]<br />
<br />
===Networking===<br />
# '''gamsock''': Full socket library compatible with Scsh's socket API.<br />
#: Author: Jeffrey T. Read<br />
#: Package: [[media:gamsock-r1.tar.gz|gamsock-r1.tar.gz]]<br />
#: Git: https://github.com/bitwize/gamsock<br />
<br />
===Utilities===<br />
# '''Sort''': Provides a simple sorting procedure for lists and vectors. The mergesort algorithm is used.<br />
#: Author: Marc Feeley<br />
#: Package: [[media:Sort-r1.tgz|Sort-r1.tgz]]<br />
# '''Bunny Test''': A simple unit testing framework. <br />
#: Author: Jonathan Arkell<br />
#: Package: (svn repository) http://bunny.jonnay.net/zengarden/trunk/lib/test/<br />
# '''GetOpts''': A syntactic form (let-opts) to parse command line options<br />
#: Author: Marco Benelli<br />
#: Package: [[media:GetOpts-r1.tgz|GetOpts-r1.tgz]]<br />
# '''Etags''': Script that generates Emacs TAGS files from Scheme files, and recognizes nested definitions.<br />
#: Author: Vincent St-Amour<br />
#: Package: http://www-etud.iro.umontreal.ca/~stamourv/etags.scm<br />
# '''Win-control''': Library for controlling Internet Explorer and other Windows applications for scripting or automating testing.<br />
#: Author: Andrew Whaley<br />
#: Package: http://code.google.com/p/win-control<br />
# '''repltest''': Small example which embeds a remotely accessible REPL into a standalone C program.<br />
#: Web: https://mercure.iro.umontreal.ca/pipermail/gambit-list/2010-June/004500.html<br />
#: Package: [[media:Repltest-20100604.tgz|Repltest-20100604.tgz]]<br />
# '''objc-utility-macros''': Utility macros to help wrap Objective-C methods.<br />
#: Author: Jeffrey T. Read<br />
#: Package: [[media:objc-utility-macros.scm|objc-utility-macros.scm]]<br />
# '''Sort''': Richard O'Keefe's sorting procedures for lists and vectors. Four times as fast as other sort.<br />
#: Author: Richard O'Keefe<br />
#: Package: [[media:Sort-okeefe.tgz|Sort-okeefe.tgz]]<br />
# '''Digest''': Computation of message digests (CRC32, MD5, SHA-1, ...). Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=digest http://snow.iro.umontreal.ca/?viewpkg=digest]<br />
#: Note: In the present version 1.0.1, digest-substring uses the start and end arguments incorrectly, noted 2013-08-06, awaiting fix.<br />
# '''Red-black tree''' implementation, Snow package.<br />
#: Author: Marc Feeley<br />
#: Package: [http://snow.iro.umontreal.ca/?viewpkg=rbtree http://snow.iro.umontreal.ca/?viewpkg=rbtree]<br />
# '''Unicode''': Unicode handling library 1.0, does string upper-/lowercasing and case insensitive comparison with Unicode character support. Essentially completes Gambit's support for the functionality described in [http://srfi.schemers.org/srfi-75/srfi-75.html SRFI 75: Unicode].<br />
#: Author: Mikael More, Florian Loitsch<br />
#: Package: [[media:Unicode.tar.gz|Unicode.tar.gz]] repo: [https://github.com/m-i-k-a-e-l/gambit-unicode https://github.com/m-i-k-a-e-l/gambit-unicode]<br />
# '''Glass Table''': Interactive Development Environment. A REPL that lets you save your work.<br />
#: Author: Jeffrey T. Read<br />
#: Repo: https://github.com/bitwize/glasstable<br />
#: Package: [[media:glasstable-0.1.tar.gz|glasstable-0.1.tar.gz]]<br />
<br />
=== Full Applications ===<br />
# '''Space-Invaders''': Space Invaders classical arcade game remake in scheme over either glut or SDL.<br />
#: Author: David St-Hilaire<br />
#: Package: [[media:Space-invaders-src-v1.0.tgz|Space-invaders-src-v1.0.tgz]]<br />
# '''Web Server''': a web server with sessions cookies and server pages.<br />
#: Author: Francesco Bracchi<br />
#: Package: [[media:WebServer-r2.tgz|WebServer-r2.tgz]] (old: [[media:WebServer-r1.tgz|WebServer-r1.tgz]])<br />
#: Git: http://git.berlios.de/cgi-bin/gitweb.cgi?p=futhark;a=summary<br />
# '''GUI-Toy''': Simple Direct Media Layer prototype code with examples in the raw and using TinyTalk and Oops object systems.<br />
#: Author: Ken Dickey<br />
#: Package: [[media:GUI-Toy.tgz|GUI-Toy.tgz]]<br />
# '''Intelligent WTF''': Intelligent acronym decoder based on ''wtf'' from BSD Games<br />
#: Author: Joel J. Adamson <br />
#: Package: (web page) http://www.unc.edu/~adamsonj/software.html<br />
# '''Genetic Canvas''': A polygon-based image renderer using genetic algorithms.<br />
#: Author: James Long<br />
#: Web: http://jlongster.com/blog/2009/05/25/mona-lisa-genetically-drawn-scheme/<br />
<br />
==Gambit Black Hole packages==<br />
These packages are in their present form created to run on Gambit using the Black Hole module system. They can generally easily be made to run on Gambit directly as well. For more info see [[Black Hole]].<br />
===SRFI===<br />
# '''SRFIs package'''<br />
#: Package: (git repo) [https://github.com/pereckerdal/srfi https://github.com/pereckerdal/srfi]<br />
<br />
===Networking===<br />
# '''Sack''': Web server and HTTP client. BH module. [https://github.com/pereckerdal/sack https://github.com/pereckerdal/sack]<br />
For convenience, mirror readily set up for non-syntactictower Black Hole: [[media:2012-11-28-sack-current-for-BH-non-syntactictower.tar.gz|2012-11-28-sack-current-for-BH-non-syntactictower.tar.gz]]<br />
<br />
There's a production-quality HTTPS server extension to Sack, see this email: https://mercure.iro.umontreal.ca/pipermail/gambit-list/2012-November/006188.html If you want more information about the HTTPS extension ask on the gambit mailing list.<br />
<br />
===Utilities===<br />
# '''Mishmash of various utils''': xml<->sxml, pregexp, digest, base64, uuid, fifo mailbox, rbtree, exception-handling, let-optionals and more. sxpath also available. These packages will be split out to individual packages. Ask on mailing list for updates.<br />
#: Package: (git repo) https://github.com/pereckerdal/std<br />
<br />
==Documents==<br />
===Scheme books===<br />
# '''An Introduction to Scheme and its Implementation''': A pretty good book on how to learn Scheme, for people with a background in general programming languages.<br />
#: Author: Paul R. Wilson<br />
#: Package: [[media:An_Introduction_to_Scheme_and_its_Implementation.tar.gz|An_Introduction_to_Scheme_and_its_Implementation.tar.gz]]<br />
<br />
[[Category: Code]]</div>Kurt Miebachhttps://gambitscheme.org/wiki/index.php?title=Black_Hole&diff=2652Black Hole2013-10-03T22:23:52Z<p>Kurt Miebach: Adding link to the latest install instructions. Update information about alpha release tutorial.</p>
<hr />
<div>'''Black Hole''' (“BH”) is a module system abstraction for [[Documentation|Gambit]] providing recurring module file dependency compilation and loading, including export of macros, for regular R5RS Scheme.<br />
<br />
Read further in the Introduction section of the documentation, found below.<br />
<br />
== Download ==<br />
Its latest version is avilable via GIT, and can be downloaded using [http://www.git-scm.org GIT] by<br />
<br />
:<nowiki>git clone git://github.com/pereckerdal/blackhole.git</nowiki><br />
<br />
There are also some libraries for Black Hole at<br />
<br />
:<nowiki>git clone git://github.com/pereckerdal/blackhole-libs.git</nowiki><br />
<br />
or non-automatically, probably very old copy [[media:Black_Hole.zip|here]].<br />
<br />
Make sure you put the blackhole-libs into a directory called "std" in ~~/lib/modules<br />
<br />
== Documentation == <br />
<br />
Be sure to checkout Mikael's setup guide for Black Hole from nov. 2012: https://mercure.iro.umontreal.ca/pipermail/gambit-list/2012-November/006188.html<br />
<br />
Core documentation (2009): [[media:Black_Hole_Core.pdf|PDF]], [[media:Black_Hole_Core.odf|OpenOffice]] and [[media:Black_Hole_Core.doc|Microsoft Word]]<br />
<br />
Bundled libraries documentation (2009): [[media:Black_Hole_Bundled_libraries.pdf|PDF]], [[media:Black_Hole_Bundled_libraries.odf|OpenOffice]] and [[media:Black_Hole_Bundled_libraries.doc|Microsoft Word]]<br />
<br />
(The tutorial for the alpha release is no longer available. The old site http://mwaza.dyndns.org/apps/files/bh-tutorial.html is now offline.)<br />
<br />
== Bundled libraries ==<br />
BH is bundled with a set of general purpose libraries, including:<br />
<br />
*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)<br />
*pregexp, hash digestion, base64 handling, UUID generator<br />
*HTTP client, server, URI and session variable handling<br />
*XML&lt;-&gt;SXML routines<br />
*FIFO queue, mailbox, weight balanced tree, erlang-style list matcher<br />
*String, u8vector, list, exception handling helper libraries<br />
*let-optionals support<br />
<br />
BH's core is completely independent of the bundled libraries, and can be separated from them without any modifications.<br />
<br />
See the documentation for more information.<br />
<br />
== Additional libraries ==<br />
Termite: A version suited for usage in Black Hole is found at GitHub, http://github.com/pereckerdal/termite/tree/master.<br />
<br />
Blackhole-web: More extensions to BlackHole for use as a web framework are here:<br />
http://github.com/jonnay/Blackhole-web. Currently it is just a copy of SSAX-SXML, but more are planned. Check the Blackhole-web.org file for more information on what is to be done, and what is planned.</div>Kurt Miebachhttps://gambitscheme.org/wiki/index.php?title=User:Kurt_Miebach&diff=2651User:Kurt Miebach2013-10-03T21:51:09Z<p>Kurt Miebach: Blanked the page</p>
<hr />
<div></div>Kurt Miebach