Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
== Outdated egg! This is an egg for CHICKEN 3, the unsupported old release. You're almost certainly looking for [[/eggref/4/index|the CHICKEN 4 version of this egg]], if it exists. If it does not exist, there may be equivalent functionality provided by another egg; have a look at the [[https://wiki.call-cc.org/chicken-projects/egg-index-4.html|egg index]]. Otherwise, please consider porting this egg to the current version of CHICKEN. [[tags: eggs]] [[toc:]] == Eggs Unlimited (release branch 3, updated Tue May 25 21:04:35 2010) A library of extensions for the Chicken Scheme system. '''Note''': the development of CHICKEN 3 is frozen. Consider using the [[http://code.call-cc.org|current CHICKEN version]] and its [[http://wiki.call-cc.org/chicken-projects/egg-index-4.html|corresponding eggs]]. === Installation Just enter $ chicken-setup EXTENSIONNAME This will download anything needed to compile and install the library. If your extension ''repository'' is placed at a location for which you don't have write permissions, then run {{chicken-setup}} as root. You can obtain the repository location by running $ chicken-setup -repository If you only want to download the extension and install it later, pass the {{-fetch}} option to {{chicken-setup}}: $ chicken-setup -fetch EXTENSIONNAME By default the archive will be unpacked into a temporary directory (named {{EXTENSIONNAME.egg-dir}} and the directory will be removed if the installation completed successfully. To keep the extracted files add {{-keep}} to the options passed to {{chicken-setup}}. For more information, enter $ chicken-setup -help If you would like to access the subversion repository, see [[eggs tutorial]]. If you are looking for 3rd party libraries used by one the extensions, check out the CHICKEN [[http://code.call-cc.org/legacy-eggs/tarballs/|tarball repository]]. === List of available eggs ==== Language extensions <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/F-operator|F-operator]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Shift/Reset Control Operators.</td></tr> <tr><td>[[/eggref/3/autoload|autoload]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Load modules lazily</td></tr> <tr><td>[[/eggref/3/awk|awk]]</td> <td>LGPL-1</td> <td>Olin Shivers, adapted to Chicken by [[felix winkelmann]]</td> <td>The SCSH/PLT 'awk' macro</td></tr> <tr><td>[[/eggref/3/codewalk|codewalk]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>macro-expansion and code-walking</td></tr> <tr><td>[[/eggref/3/contracts|contracts]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Simple contract-oriented programming</td></tr> <tr><td>[[/eggref/3/datatype|datatype]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A facility for creating and deconstructing variant records (from EOPL)</td></tr> <tr><td>[[/eggref/3/date-literals|date-literals]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>A reader extension providing SRFI-19 date/time literals of the form <code>#@2007-12-31T23:59:59Z</code></td></tr> <tr><td>[[/eggref/3/defun-cond|defun-cond]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Create condition convenience procedures</td></tr> <tr><td>[[/eggref/3/environments|environments]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>User defined evaluation environments</td></tr> <tr><td>[[/eggref/3/extended-cond|extended-cond]]</td> <td>Public Domain</td> <td>Shawn Wagner</td> <td>cond conforming to SRFI-61 (Guard clauses) case conformating to SRFI-87 (Passing the matched value to a function) Generic case and switch versions that take a user-defined equality function.</td></tr> <tr><td>[[/eggref/3/foof-loop|foof-loop]]</td> <td>Public Domain</td> <td>Taylor R Campbell</td> <td>Extensible looping macros (originally based on Alex Shinn's)</td></tr> <tr><td>[[/eggref/3/fspath|fspath]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>CommonLISP similar namestring & pathname</td></tr> <tr><td>[[/eggref/3/generalised-case|generalised-case]]</td> <td>BSD</td> <td>Peter Bex</td> <td>A generalised version of CASE that accepts an equality predicate</td></tr> <tr><td>[[/eggref/3/generator|generator]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Provides generator-like coroutine operations.</td></tr> <tr><td>[[/eggref/3/job-worker|job-worker]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Background Job/Worker Associates</td></tr> <tr><td>[[/eggref/3/lexmod|lexmod]]</td> <td>BSD</td> <td>Taylor Campbell</td> <td>A portable module system based on lexical scope</td></tr> <tr><td>[[/eggref/3/loop|loop]]</td> <td>GPL-2</td> <td>Heinrich Taube</td> <td>The Common Lisp LOOP macro</td></tr> <tr><td>[[/eggref/3/loopy-loop|loopy-loop]]</td> <td>Public Domain</td> <td>Alex Shinn</td> <td>Alex Shinn's LOOP macro</td></tr> <tr><td>[[/eggref/3/make|make]]</td> <td>LGPL-1</td> <td>PLT, adapted to Chicken by [[felix winkelmann]]</td> <td>The PLT 'make' macro</td></tr> <tr><td>[[/eggref/3/match-action|match-action]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Match extension with explicit success & fail actions</td></tr> <tr><td>[[/eggref/3/matchable|matchable]]</td> <td>Public Domain</td> <td>Alex Shinn</td> <td>Hygienic MATCH replacement</td></tr> <tr><td>[[/eggref/3/misc-extn|misc-extn]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Miscellaneous useful stuff</td></tr> <tr><td>[[/eggref/3/miscmacros|miscmacros]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Various helper macros</td></tr> <tr><td>[[/eggref/3/modules|modules]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>a simple module system</td></tr> <tr><td>[[/eggref/3/object-apply|object-apply]]</td> <td>BSD</td> <td>felix</td> <td>Allows calling arbitrary data objects as procedures</td></tr> <tr><td>[[/eggref/3/pmatch|pmatch]]</td> <td>Public Domain</td> <td>Mayer Goldberg</td> <td>Macroless ML-style pattern matching</td></tr> <tr><td>[[/eggref/3/procedure-decoration|procedure-decoration]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>An interface for procedure decoration</td></tr> <tr><td>[[/eggref/3/procedure-surface|procedure-surface]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Generic Programming Support</td></tr> <tr><td>[[/eggref/3/regex-case|regex-case]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Provides an easy to use <code>case</code> construct for regular expression matching</td></tr> <tr><td>[[/eggref/3/regex-literals|regex-literals]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>A reader extension providing precompiled regular expression literals of the form <code>#/[a-z0-9]+/i</code></td></tr> <tr><td>[[/eggref/3/sandbox|sandbox]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A safe evaluation environment</td></tr> <tr><td>[[/eggref/3/softscheme|softscheme]]</td> <td>GPL-2</td> <td>Andrew Wright, packaged by Lars Thomas Hansen and ported to chicken by felix</td> <td>Andrew Wright's soft type checker</td></tr> <tr><td>[[/eggref/3/srfi-45|srfi-45]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Primitives for Expressing Iterative Lazy Algorithms</td></tr> <tr><td>[[/eggref/3/srfi-60|srfi-60]]</td> <td>BSD</td> <td>Aubrey Jaffer</td> <td>Integers as bits</td></tr> <tr><td>[[/eggref/3/srfi-89|srfi-89]]</td> <td>SRFI</td> <td>Marc Feeley</td> <td>reference implementation of SRFI-89</td></tr> <tr><td>[[/eggref/3/stacktor|stacktor]]</td> <td>BSD</td> <td>Mark Fredrickson</td> <td>A stack programming DSL, inspired by Factor</td></tr> <tr><td>[[/eggref/3/suspension|suspension]]</td> <td>BSD</td> <td>felix</td> <td>Serialized limited continuations</td></tr> <tr><td>[[/eggref/3/tagged-begin|tagged-begin]]</td> <td>BSD</td> <td>Jens Axel Søgaard</td> <td>An extended form of <code>begin</code> similar to Common Lisp's <code>tagbody</code></td></tr> <tr><td>[[/eggref/3/uri-literals|uri-literals]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>A reader extension providing URI literals of the form <code>#<http://www.call-with-current-continuation.org/></code></td></tr> </table> ==== Graphics <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/aalib|aalib]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Bindings for the AAlib ASCII renderer</td></tr> <tr><td>[[/eggref/3/aquaterm|aquaterm]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>Bindings to the C API for AquaTerm</td></tr> <tr><td>[[/eggref/3/cairo|cairo]]</td> <td>LGPL-2.1</td> <td>Michael Bridgen and Tony Garnock-Jones</td> <td>Chicken bindings for Cairo, a vector graphics library</td></tr> <tr><td>[[/eggref/3/directfb|directfb]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>A binding for the DirectFB graphics library</td></tr> <tr><td>[[/eggref/3/epeg|epeg]]</td> <td>BSD</td> <td>Peter Bex</td> <td>Chicken bindings for the JPEG thumbnail creation library epeg</td></tr> <tr><td>[[/eggref/3/ezxdisp|ezxdisp]]</td> <td>GPL-2</td> <td>n-sibata and Morihiko Tamai</td> <td>A simple 2D and 3D graphics library for X11</td></tr> <tr><td>[[/eggref/3/fps|fps]]</td> <td>Free Use</td> <td>Wandy Sae-Tan and Olin Shivers</td> <td>Functional PostScript</td></tr> <tr><td>[[/eggref/3/freetype|freetype]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Freetype2 Interface</td></tr> <tr><td>[[/eggref/3/g2|g2]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Interface to the G2 graphics libary</td></tr> <tr><td>[[/eggref/3/glfw|glfw]]</td> <td>MIT</td> <td>Alex Sandro Queiroz e Silva</td> <td>Bindings for GLFW, an OpenGL framework</td></tr> <tr><td>[[/eggref/3/glut|glut]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>GLUT bindings</td></tr> <tr><td>[[/eggref/3/imlib2|imlib2]]</td> <td>BSD</td> <td>Peter Bex</td> <td>Chicken bindings for the Imlib2 image library</td></tr> <tr><td>[[/eggref/3/octave|octave]]</td> <td>BSD</td> <td>Pierre-Alexandre Fournier</td> <td>Interface to GNU/Octave</td></tr> <tr><td>[[/eggref/3/opengl|opengl]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>OpenGL bindings</td></tr> <tr><td>[[/eggref/3/sdl|sdl]]</td> <td>LGPL-2.1</td> <td>Tony Garnock-Jones</td> <td>Basic SDL support</td></tr> <tr><td>[[/eggref/3/xlib|xlib]]</td> <td>unknown</td> <td>Richard Mann</td> <td>Xlib bindings</td></tr> <tr><td>[[/eggref/3/xmi|xmi]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to libxmi, the 2D rasterization library</td></tr> </table> ==== Debugging tools <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/dissector|dissector]]</td> <td>BSD</td> <td>Taylor Campbell</td> <td>An object inspector for Chicken</td></tr> <tr><td>[[/eggref/3/gdb|gdb]]</td> <td>MIT</td> <td>Tony Sidaway</td> <td>GDB-MI interface to the GNU debugger</td></tr> <tr><td>[[/eggref/3/mayo|mayo]]</td> <td>MIT</td> <td>Tony Sidaway</td> <td>Scheme source-level debugger</td></tr> </table> ==== Logic programming <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/kanren|kanren]]</td> <td>MIT</td> <td>Oleg Kiselyov and Dan Friedman</td> <td>A declarative applicative logic programming system.</td></tr> <tr><td>[[/eggref/3/schelog|schelog]]</td> <td>LGPL-2</td> <td>Dorai Sitaram, substantially optimized by Brad Lucier</td> <td>Dorai Sitaram's embedding of logic programming into Scheme</td></tr> </table> ==== Networking <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/9p|9p]]</td> <td>BSD</td> <td>Peter Bex</td> <td>9p networked filesystem protocol implementation. Includes high-level client code library</td></tr> <tr><td>[[/eggref/3/dict|dict]]</td> <td>BSD</td> <td>David Krentzlin</td> <td>Simple API for the dict client/server-protocol</td></tr> <tr><td>[[/eggref/3/dns|dns]]</td> <td>BSD</td> <td>elf</td> <td>domain name service client</td></tr> <tr><td>[[/eggref/3/dpfw|dpfw]]</td> <td>GPL-2</td> <td>Dan Muresan</td> <td>A lightweight distributed programming framework</td></tr> <tr><td>[[/eggref/3/ftp|ftp]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Simple FTP client</td></tr> <tr><td>[[/eggref/3/hostinfo|hostinfo]]</td> <td>BSD</td> <td>Zbigniew Szadkowski</td> <td>Look up host, protocol, and service information</td></tr> <tr><td>[[/eggref/3/http|http]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>HTTP client and server</td></tr> <tr><td>[[/eggref/3/http-auth|http-auth]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>HTTP access authentication.</td></tr> <tr><td>[[/eggref/3/irc|irc]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A simple IRC client</td></tr> <tr><td>[[/eggref/3/memcached|memcached]]</td> <td>BSD</td> <td>Alaric B. Snell-Pym</td> <td>A client for accessing a memcached cluster</td></tr> <tr><td>[[/eggref/3/mpi|mpi]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Message-passing Interface (MPI)</td></tr> <tr><td>[[/eggref/3/openssl|openssl]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>Bindings to the OpenSSL SSL/TLS library</td></tr> <tr><td>[[/eggref/3/pcap|pcap]]</td> <td>BSD</td> <td>Category 5</td> <td>Interface to the portable packet-capture library</td></tr> <tr><td>[[/eggref/3/pop3|pop3]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Mail retrieval via the POP3 protocol</td></tr> <tr><td>[[/eggref/3/raw-sockets|raw-sockets]]</td> <td>BSD</td> <td>Ben Kurtz</td> <td>Simple access to UNIX raw sockets</td></tr> <tr><td>[[/eggref/3/remote-launch|remote-launch]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Remote Launch Service</td></tr> <tr><td>[[/eggref/3/remote-mailbox|remote-mailbox]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Remote Mailbox</td></tr> <tr><td>[[/eggref/3/remote-repl|remote-repl]]</td> <td>BSD</td> <td>elf</td> <td>remote read-eval-print loop client and server</td></tr> <tr><td>[[/eggref/3/rpc|rpc]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>A flexible peer-to-peer RPC system.</td></tr> <tr><td>[[/eggref/3/scgi|scgi]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>SCGI server library</td></tr> <tr><td>[[/eggref/3/sendfile|sendfile]]</td> <td>BSD</td> <td>David Krentzlin</td> <td>Sending a file over the network</td></tr> <tr><td>[[/eggref/3/smtp|smtp]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A simple library to send e-mail via SMTP (RFC 821)</td></tr> <tr><td>[[/eggref/3/soap|soap]]</td> <td>BSD</td> <td> description</td> <td>SOAP Library for Chicken</td></tr> <tr><td>[[/eggref/3/socket|socket]]</td> <td>BSD</td> <td>Jim Ursetto</td> <td>BSD sockets interface</td></tr> <tr><td>[[/eggref/3/sockets|sockets]]</td> <td>BSD</td> <td>elf</td> <td>socket code</td></tr> <tr><td>[[/eggref/3/spread|spread]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to the Spread communication library</td></tr> <tr><td>[[/eggref/3/stringprep|stringprep]]</td> <td>GPL</td> <td>Adam C. Emerson</td> <td>RFC 3454 internationalized string preparation</td></tr> <tr><td>[[/eggref/3/tcp-server|tcp-server]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A simple generic multithreaded tcp-server</td></tr> <tr><td>[[/eggref/3/tcp6|tcp6]]</td> <td>BSD</td> <td>Jun-ichiro Itojun Hagino and felix winkelmann</td> <td>A replacement for the <code>tcp</code> library unit that supports IPv6</td></tr> <tr><td>[[/eggref/3/udp|udp]]</td> <td>BSD</td> <td>Category 5</td> <td>An interface to User Datagram Protocol sockets</td></tr> <tr><td>[[/eggref/3/unix-sockets|unix-sockets]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>UNIX domain sockets</td></tr> <tr><td>[[/eggref/3/uuid-lib|uuid-lib]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>OSF DCE 1.1 UUID</td></tr> <tr><td>[[/eggref/3/uuid-ossp|uuid-ossp]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>OSSP UUID</td></tr> <tr><td>[[/eggref/3/webdav-client|webdav-client]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>WebDAV client implementation.</td></tr> </table> ==== Input/Output <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/binary-parse|binary-parse]]</td> <td>Public Domain</td> <td>Oleg Kiselyov</td> <td>Reading variable number of bits from a sequential input stream</td></tr> <tr><td>[[/eggref/3/eformat|eformat]]</td> <td>BSD</td> <td>elf</td> <td>extended formatting procedures</td></tr> <tr><td>[[/eggref/3/endian-port|endian-port]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>An I/O port that supports different endian formats.</td></tr> <tr><td>[[/eggref/3/fmt|fmt]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Combinator Formatting</td></tr> <tr><td>[[/eggref/3/format-graph|format-graph]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Prints a graph in various formats.</td></tr> <tr><td>[[/eggref/3/format-modular|format-modular]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo, Alex Shinn and Kon Lovett</td> <td>Modular Common-Lisp style formatted output</td></tr> <tr><td>[[/eggref/3/format-textdiff|format-textdiff]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Output text diff scripts in different formats</td></tr> <tr><td>[[/eggref/3/fpio|fpio]]</td> <td>BSD</td> <td>Ivan Raikov</td> <td>Conversion of floating point numbers between binary and decimal representation.</td></tr> <tr><td>[[/eggref/3/http-fs|http-fs]]</td> <td>BSD</td> <td>[[felix winkelmann]]</td> <td>Simple read-only HTTP access over [[vfs]]</td></tr> <tr><td>[[/eggref/3/ioctl|ioctl]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>ioctl system call interface</td></tr> <tr><td>[[/eggref/3/nbstdin|nbstdin]]</td> <td>BSD</td> <td>Daishi Kato</td> <td>Non-blocking Standard Input</td></tr> <tr><td>[[/eggref/3/pipeline|pipeline]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>Run multiple subprocesses connected via pipes</td></tr> <tr><td>[[/eggref/3/ppi|ppi]]</td> <td>MIT</td> <td>Michal Dybizbanski</td> <td>user-space interface to ppbus parallel 'geek' port under FreeBSD</td></tr> <tr><td>[[/eggref/3/pty|pty]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Easy Pseudo-Terminal Interface</td></tr> <tr><td>[[/eggref/3/readline|readline]]</td> <td>GPL-2</td> <td>Tony Garnock-Jones</td> <td>An interface to the GNU readline library</td></tr> <tr><td>[[/eggref/3/sfio|sfio]]</td> <td>BSD</td> <td>Category 5</td> <td>Interface to AT&T's Safe/Fast I/O Library</td></tr> <tr><td>[[/eggref/3/srfi-38|srfi-38]]</td> <td>SRFI</td> <td>Al Petrofsky and Ray Dillinger</td> <td>A Chicken version of the SRFI-38 reference implementation</td></tr> <tr><td>[[/eggref/3/strictly-pretty|strictly-pretty]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Algebraic pretty printer.</td></tr> <tr><td>[[/eggref/3/stty|stty]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>stty-style interface to termios</td></tr> <tr><td>[[/eggref/3/vfs|vfs]]</td> <td>BSD</td> <td>[[felix winkelmann]]</td> <td>TinyCLOS wrappers for file operations</td></tr> </table> ==== Databases <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/gdbm|gdbm]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>GNU DBM interface</td></tr> <tr><td>[[/eggref/3/geoip|geoip]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>Chicken bindings for the GeoIP C API</td></tr> <tr><td>[[/eggref/3/metakit|metakit]]</td> <td>MIT</td> <td>Sergey Khorev</td> <td>An interface to the Metakit database</td></tr> <tr><td>[[/eggref/3/mysql|mysql]]</td> <td>MIT</td> <td>Toby Butzon</td> <td>MySQL bindings for Chicken</td></tr> <tr><td>[[/eggref/3/postgresql|postgresql]]</td> <td>BSD</td> <td>Johannes Groedem</td> <td>Some simple bindings for PostgreSQL's C-api</td></tr> <tr><td>[[/eggref/3/qdbm|qdbm]]</td> <td>GPL</td> <td>Sven Hartrumpf</td> <td>Some bindings for qdbm (depot interface)</td></tr> <tr><td>[[/eggref/3/sedna|sedna]]</td> <td>Apache</td> <td>The Institute for System Programming of the Russian Academy of Sciences (ISP RAS)</td> <td>An interface to the Sedna XML database management system.</td></tr> <tr><td>[[/eggref/3/sql|sql]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>A small scheme library for constructing SQL queries</td></tr> <tr><td>[[/eggref/3/sql-null|sql-null]]</td> <td>Public Domain</td> <td>Ivan Shmakov</td> <td>A convenience extension for representing SQL NULL values</td></tr> <tr><td>[[/eggref/3/sqlite3|sqlite3]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>Bindings to version 3.x of the SQLite API</td></tr> <tr><td>[[/eggref/3/sqlite3-records|sqlite3-records]]</td> <td>BSD</td> <td>Joshua B. Griffith</td> <td>Record-based interface to sqlite3 with hierarchical relationships</td></tr> <tr><td>[[/eggref/3/sqlite3-tinyclos|sqlite3-tinyclos]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>A bridge between persistent storage in SQLite3 tables and TinyCLOS objects.</td></tr> <tr><td>[[/eggref/3/sqlora|sqlora]]</td> <td>BSD</td> <td>Graham Fawcett</td> <td>A wrapper for libsqlora8, the Oracle-database library</td></tr> <tr><td>[[/eggref/3/tokyocabinet|tokyocabinet]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Tokyo Cabinet DBM interface</td></tr> </table> ==== OS interface <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/daemon-tools|daemon-tools]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>Collection of useful functions for daemons</td></tr> <tr><td>[[/eggref/3/dbus|dbus]]</td> <td>MIT</td> <td>Shawn Rutledge</td> <td>A binding for libdbus, the IPC mechanism</td></tr> <tr><td>[[/eggref/3/filesystem|filesystem]]</td> <td>MIT</td> <td>Ozzi Lee</td> <td>Functions for getting filesystem information.</td></tr> <tr><td>[[/eggref/3/lirc-client|lirc-client]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>Interface to LIRC (Linux Infrared Remote Control) client library</td></tr> <tr><td>[[/eggref/3/locale|locale]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Provides locale operations</td></tr> <tr><td>[[/eggref/3/macosx|macosx]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>MacOS X Utilities</td></tr> <tr><td>[[/eggref/3/osprocess|osprocess]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Subprocess Object</td></tr> <tr><td>[[/eggref/3/rlimit|rlimit]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Setting resource limits</td></tr> <tr><td>[[/eggref/3/statvfs|statvfs]]</td> <td>MIT</td> <td>Ozzi Lee</td> <td>Wrapper for the statvfs C function.</td></tr> <tr><td>[[/eggref/3/unix-test|unix-test]]</td> <td>BSD</td> <td>elf</td> <td>test(1) equivalence procedures</td></tr> </table> ==== Interfacing to other languages <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/dollar|dollar]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>FFI convenience macro</td></tr> <tr><td>[[/eggref/3/easyffi|easyffi]]</td> <td>BSD</td> <td>[[felix winkelmann]]</td> <td>Generates bindings from C/C++ declarations</td></tr> <tr><td>[[/eggref/3/javahack|javahack]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A simple interface to Java(tm)</td></tr> <tr><td>[[/eggref/3/jni|jni]]</td> <td>BSD</td> <td>Daishi Kato and felix winkelmann</td> <td>An interface to Java(tm) via JNI</td></tr> <tr><td>[[/eggref/3/lazy-ffi|lazy-ffi]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A foreign function interface for lazy people</td></tr> <tr><td>[[/eggref/3/lua|lua]]</td> <td>MIT</td> <td>PUC Rio, chicken interface by felix winkelmann</td> <td>Embed Lua interpreter into Scheme applications</td></tr> <tr><td>[[/eggref/3/objc|objc]]</td> <td>MIT</td> <td>Zbigniew</td> <td>An Objective-C interface</td></tr> <tr><td>[[/eggref/3/pyffi|pyffi]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>An interface to the Python programming language.</td></tr> <tr><td>[[/eggref/3/q-lang|q-lang]]</td> <td>GPL-2</td> <td>John Cowan</td> <td>An interface to the programming language Q</td></tr> </table> ==== Web programing <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/ajax|ajax]]</td> <td>MIT</td> <td>[[felix winkelmann]]</td> <td>Using xmlHttpRequest with the Spiffy web-server</td></tr> <tr><td>[[/eggref/3/cgi-util|cgi-util]]</td> <td>unknown</td> <td>Oleg Kiselyov. Ported to chicken by Shawn Wagner.</td> <td>CGI GET and POST query string parsing.</td></tr> <tr><td>[[/eggref/3/curl|curl]]</td> <td>BSD</td> <td>Tony Sidaway</td> <td>Bindings for libcurl, the multiprotocol file transfer library</td></tr> <tr><td>[[/eggref/3/estraier|estraier]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Thin wrapper around the Hyper Estraier API for indexing documents and searching them.</td></tr> <tr><td>[[/eggref/3/fancypants|fancypants]]</td> <td>BSD</td> <td>Peter Bex</td> <td>Automatic ASCII smart quotes and ligature handling for SXML</td></tr> <tr><td>[[/eggref/3/fastcgi|fastcgi]]</td> <td>BSD</td> <td>Alex Drummond</td> <td>Bindings for the FCGX API of libfcgi</td></tr> <tr><td>[[/eggref/3/hart|hart]]</td> <td>BSD</td> <td>Graham Fawcett</td> <td>An efficient HTML-generation library.</td></tr> <tr><td>[[/eggref/3/honu|honu]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A parser for `honu' syntax</td></tr> <tr><td>[[/eggref/3/html-form|html-form]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>HTML form constructor.</td></tr> <tr><td>[[/eggref/3/html-plots|html-plots]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Parsing files in wiki format and rendering them to HTML</td></tr> <tr><td>[[/eggref/3/html-stream|html-stream]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Tiny, functional HTML generator, generating srfi-40 streams of characters</td></tr> <tr><td>[[/eggref/3/htmlprag|htmlprag]]</td> <td>LGPL-2.1</td> <td>Neil W. Van Dyke</td> <td>A permissive HTML parser</td></tr> <tr><td>[[/eggref/3/http-server-form-posts|http-server-form-posts]]</td> <td>Public Domain</td> <td>Moe Aboulkheir</td> <td>Extends http-server to handle multipart/form-data POSTs</td></tr> <tr><td>[[/eggref/3/http-session|http-session]]</td> <td>BSD</td> <td>Mario Domenech Goulart</td> <td>Facilities for managing HTTP sessions</td></tr> <tr><td>[[/eggref/3/idna|idna]]</td> <td>BSD</td> <td>Zbigniew</td> <td>An interface to Internationalizing Domain Names in Applications</td></tr> <tr><td>[[/eggref/3/irnc-base|irnc-base]]</td> <td>BSD</td> <td>Tony Sidaway and Martin Sidaway</td> <td>Base package for the ironchicken bot framework for Mediawiki</td></tr> <tr><td>[[/eggref/3/memoize|memoize]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Simple implementation of memoization.</td></tr> <tr><td>[[/eggref/3/mime|mime]]</td> <td>BSD</td> <td>Shiro Kawai, ported to Chicken by Hans Bulfone</td> <td>Parse MIME Messages</td></tr> <tr><td>[[/eggref/3/phoghorn|phoghorn]]</td> <td>BSD</td> <td>Peter Bex</td> <td>A thumbnail gallery library for spiffy</td></tr> <tr><td>[[/eggref/3/scheme-dissect|scheme-dissect]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Functions useful to show Scheme code in an HTML file</td></tr> <tr><td>[[/eggref/3/spiffy|spiffy]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Spiffy the web-server</td></tr> <tr><td>[[/eggref/3/spiffy-utils|spiffy-utils]]</td> <td>BSD</td> <td>Peter Bex</td> <td>Utility library for Spiffy</td></tr> <tr><td>[[/eggref/3/stream-cgi|stream-cgi]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>A library with functionality useful for creating applications that run under CGI using streams</td></tr> <tr><td>[[/eggref/3/stream-httplog|stream-httplog]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Parser for Apache access_log files</td></tr> <tr><td>[[/eggref/3/stream-wiki|stream-wiki]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Parsing files in wiki format and rendering them to HTML</td></tr> <tr><td>[[/eggref/3/svnwiki-archives|svnwiki-archives]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Generates lists of files by the time they were created. This is useful for weblogs and similar websites.</td></tr> <tr><td>[[/eggref/3/svnwiki-atom|svnwiki-atom]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Generates ATOM XML files.</td></tr> <tr><td>[[/eggref/3/svnwiki-chicken|svnwiki-chicken]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Defines tags used by the Chicken wiki.</td></tr> <tr><td>[[/eggref/3/svnwiki-contributor|svnwiki-contributor]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Shows the name of the person who contributed a file. Used for weblogs where multiple people contribute.</td></tr> <tr><td>[[/eggref/3/svnwiki-discuss|svnwiki-discuss]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Handles discussions associated to wiki pages. Some of the logic for this is still included in Svnwiki.</td></tr> <tr><td>[[/eggref/3/svnwiki-edit-question|svnwiki-edit-question]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Requires anonymous users to answer certain questions, as a means to control spam.</td></tr> <tr><td>[[/eggref/3/svnwiki-enscript|svnwiki-enscript]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Provides an enscript tag that provides syntax highlighting using GNU enscript.</td></tr> <tr><td>[[/eggref/3/svnwiki-extensions|svnwiki-extensions]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Svnwiki's extension framework</td></tr> <tr><td>[[/eggref/3/svnwiki-folksonomy|svnwiki-folksonomy]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Utilities for managing folksonomies. Shows the tags that pages have underneath them.</td></tr> <tr><td>[[/eggref/3/svnwiki-glossary|svnwiki-glossary]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>For directories containing a glossary where every page corresponds to one term, generates HTML views such as lists of all terms beginning by a given letter.</td></tr> <tr><td>[[/eggref/3/svnwiki-googlemap|svnwiki-googlemap]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Generates a map of pages, based on the svnwiki:location:latitude and svnwiki:location:longitude properties.</td></tr> <tr><td>[[/eggref/3/svnwiki-image|svnwiki-image]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Handles images in Svnwiki repositories, providing a convenient way to view them.</td></tr> <tr><td>[[/eggref/3/svnwiki-javascript|svnwiki-javascript]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Library of Javascript functions used by svnwiki extensions.</td></tr> <tr><td>[[/eggref/3/svnwiki-links|svnwiki-links]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Provides links to certain popular websites (digg, del.icio.us, reddit) for registering pages there.</td></tr> <tr><td>[[/eggref/3/svnwiki-mail|svnwiki-mail]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Functionality for sending email notifications about changes to wiki pages.</td></tr> <tr><td>[[/eggref/3/svnwiki-math|svnwiki-math]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Provides rendering of mathematical formulas using TexVC.</td></tr> <tr><td>[[/eggref/3/svnwiki-metadata|svnwiki-metadata]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Svnwiki extension to handle metadata about pages in the wiki</td></tr> <tr><td>[[/eggref/3/svnwiki-nowiki|svnwiki-nowiki]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Adds the nowiki tag for including literal strings.</td></tr> <tr><td>[[/eggref/3/svnwiki-progress|svnwiki-progress]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Shows a progress bar for commits through the web interface.</td></tr> <tr><td>[[/eggref/3/svnwiki-rating|svnwiki-rating]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Provides means for users to rate pages according to their quality.</td></tr> <tr><td>[[/eggref/3/svnwiki-scheme|svnwiki-scheme]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Allows users to embed Scheme code in wiki pages, executing it in a sandboxes environment.</td></tr> <tr><td>[[/eggref/3/svnwiki-tags|svnwiki-tags]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Defines the basic HTML tags.</td></tr> <tr><td>[[/eggref/3/svnwiki-translations|svnwiki-translations]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Support for translating wiki pages to multiple languages (eg. including links in a page to all the languages it is available on).</td></tr> <tr><td>[[/eggref/3/svnwiki-upload|svnwiki-upload]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Provides a form to allow users to upload binary files to the wiki.</td></tr> <tr><td>[[/eggref/3/svnwiki-weblog|svnwiki-weblog]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>Useful for managing weblogs inside the wiki repository (eg. renders the main page with the most recently-created files).</td></tr> <tr><td>[[/eggref/3/uri|uri]]</td> <td>BSD</td> <td>Felix Winkelmann and Kon Lovett, with code taken from Aubrey Jaffers' SLIB</td> <td>URL (RFC 1739 & 3986) parsing</td></tr> <tr><td>[[/eggref/3/uri-generic|uri-generic]]</td> <td>BSD</td> <td>Ivan Raikov</td> <td>URI generic syntax (RFC 3986) parsing and manipulation.</td></tr> <tr><td>[[/eggref/3/uri-namespaces|uri-namespaces]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>Facilities for converting between prefixed symbols (such as 'dc:title) and absolute URI references (such as #<http://purl.org/dc/elements/1.1/title>). This is useful e.g. for working with XML documents and RDF triples.</td></tr> <tr><td>[[/eggref/3/web-scheme|web-scheme]]</td> <td>BSD</td> <td>Mario Domenech Goulart</td> <td>Scheme for web programming</td></tr> <tr><td>[[/eggref/3/web-unity|web-unity]]</td> <td>BSD</td> <td>Peter Bex</td> <td>Web app unification framework for CGI/SCGI/FCGI/Spiffy webservers</td></tr> <tr><td>[[/eggref/3/xml-rpc|xml-rpc]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>XML-RPC client/server</td></tr> </table> ==== XML processing <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/asxt|asxt]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>Another Scheme XML Transformer</td></tr> <tr><td>[[/eggref/3/doctype|doctype]]</td> <td>Public Domain</td> <td>Zbigniew Szadkoswski</td> <td>Exports strings corresponding to standard XML (XHTML, HTML) doctypes</td></tr> <tr><td>[[/eggref/3/expat|expat]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to James Clark's Expat XML parser</td></tr> <tr><td>[[/eggref/3/lazy-ssax|lazy-ssax]]</td> <td>Public Domain</td> <td>Dmitry Lizorkin</td> <td>A specialized lazy XML->SXML parser</td></tr> <tr><td>[[/eggref/3/rss|rss]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A RSS parser</td></tr> <tr><td>[[/eggref/3/ssax|ssax]]</td> <td>Public Domain</td> <td>Oleg Kiselyov, ported to CHICKEN by Kirill Lisovsky, packaged as an extension by felix winkelmann</td> <td>Oleg Kiselyov's XML parser</td></tr> <tr><td>[[/eggref/3/sxml-match|sxml-match]]</td> <td>MIT</td> <td>Reed Sheridan</td> <td>Pattern matching of SXML</td></tr> <tr><td>[[/eggref/3/sxml-templates|sxml-templates]]</td> <td>Public Domain</td> <td>Moe Aboulkheir</td> <td>A simple facility for subtituting values into SXML expressions</td></tr> <tr><td>[[/eggref/3/sxml-tools|sxml-tools]]</td> <td>Public Domain</td> <td>Oleg Kiselyov, Kirill Lisovsky, Dmitry Lizorkin</td> <td>The sxml-tools from the SSAX project</td></tr> <tr><td>[[/eggref/3/sxml-transforms|sxml-transforms]]</td> <td>Public Domain</td> <td>Oleg Kiselyov</td> <td>The SXML transformations (to XML, SXML, and HTML) from the SSAX project at Sourceforge</td></tr> <tr><td>[[/eggref/3/xxexpr|xxexpr]]</td> <td>LGPL-2.1</td> <td>Tony Garnock-Jones</td> <td>Manipulation of eXtended Xml EXPRessions</td></tr> </table> ==== Documentation tools <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/eggdoc|eggdoc]]</td> <td>BSD</td> <td>Zbigniew</td> <td>An egg documentation tool</td></tr> <tr><td>[[/eggref/3/eggdoc-svnwiki|eggdoc-svnwiki]]</td> <td>BSD</td> <td>Zbigniew</td> <td>Render eggdoc source to svnwiki syntax</td></tr> <tr><td>[[/eggref/3/eggdoc-texinfo|eggdoc-texinfo]]</td> <td>BSD</td> <td>Zbigniew</td> <td>Render eggdoc source to Texinfo</td></tr> <tr><td>[[/eggref/3/man|man]]</td> <td>BSD</td> <td>Mario Goulart</td> <td>Access the manual from the REPL</td></tr> <tr><td>[[/eggref/3/mole|mole]]</td> <td>Public Domain</td> <td>Kirill Lisovsky</td> <td>A literate programming tool for Scheme</td></tr> </table> ==== Egg tools <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/meta-setup|meta-setup]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A tool for various operations on a local CHICKEN extension repository</td></tr> <tr><td>[[/eggref/3/nest-tool|nest-tool]]</td> <td>BSD</td> <td>Mario Domenech Goulart</td> <td>Extension and command-line tool for extracting information from eggs repositories listings</td></tr> <tr><td>[[/eggref/3/salmonella|salmonella]]</td> <td>BSD</td> <td>Mario Domenech Goulart</td> <td>A tool for testing eggs</td></tr> <tr><td>[[/eggref/3/versions|versions]]</td> <td>BSD</td> <td>elf</td> <td>Procedures for extraction and comparison of version strings</td></tr> </table> ==== Mathematical libraries <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/SO31|SO31]]</td> <td>GPL</td> <td>Will M. Farr</td> <td>Basic functions to manipulate SO(3,1) group elements.</td></tr> <tr><td>[[/eggref/3/atlas-lapack|atlas-lapack]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>An interface to the LAPACK routines implemented in ATLAS.</td></tr> <tr><td>[[/eggref/3/blas|blas]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to level 1, 2 and 3 BLAS routines</td></tr> <tr><td>[[/eggref/3/complex|complex]]</td> <td>BSD</td> <td>Thomas Christian Chust</td> <td>Support for complex numbers in Chicken</td></tr> <tr><td>[[/eggref/3/fpfz|fpfz]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Floating-point Comparison With Epsilon</td></tr> <tr><td>[[/eggref/3/glpk|glpk]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>An interface to GLPK (linear programming).</td></tr> <tr><td>[[/eggref/3/gmp|gmp]]</td> <td>LGPL-2.1</td> <td>Peter Keller</td> <td>Bindings for the <b>GNU Multiprecision Arithmetic Library</b></td></tr> <tr><td>[[/eggref/3/grobner-basis|grobner-basis]]</td> <td>MIT</td> <td>Naruto Canada</td> <td>Grobner Basis</td></tr> <tr><td>[[/eggref/3/gsl-srfi-27|gsl-srfi-27]]</td> <td>GPL</td> <td>Will M. Farr</td> <td>SRFI-27 library which uses the GSL behind the scenes to generate random numbers.</td></tr> <tr><td>[[/eggref/3/interp1d|interp1d]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>One-dimensional numerical interpolation.</td></tr> <tr><td>[[/eggref/3/libsvm|libsvm]]</td> <td>BSD</td> <td>daishi</td> <td>libsvm wrapper</td></tr> <tr><td>[[/eggref/3/lognum|lognum]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Logarithmic number system.</td></tr> <tr><td>[[/eggref/3/mapm|mapm]]</td> <td>Public Domain</td> <td>[[mailto:tjaden(at)users.sourceforge.net|Peter Wang]]</td> <td>Binding to Mike's Arbitrary Precision Math Library</td></tr> <tr><td>[[/eggref/3/mathh|mathh]]</td> <td>Public Domain</td> <td>John Cowan and Kon Lovett</td> <td>ISO C math functions and constants</td></tr> <tr><td>[[/eggref/3/matpak|matpak]]</td> <td>BSD</td> <td>Norman Hardy, packaged by Terrence Brannon</td> <td>matrix multiplication, inverse, transpose, determinant, and vector inner product</td></tr> <tr><td>[[/eggref/3/matrix-utils|matrix-utils]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Generation of special utility matrices.</td></tr> <tr><td>[[/eggref/3/numbers|numbers]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Full numeric tower support</td></tr> <tr><td>[[/eggref/3/ode|ode]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Numerical solver framework for systems of first-order differential equations (ODE).</td></tr> <tr><td>[[/eggref/3/predicate-calculus|predicate-calculus]]</td> <td>MIT</td> <td>Naruto Canada</td> <td>Predicate calculus with equality.</td></tr> <tr><td>[[/eggref/3/probdist|probdist]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Probability distributions</td></tr> <tr><td>[[/eggref/3/unitconv|unitconv]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Conversion of units of measurement</td></tr> </table> ==== Object-oriented programming <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/c3|c3]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Implements C3 class linearization for TinyCLOS</td></tr> <tr><td>[[/eggref/3/meroon|meroon]]</td> <td>LGPL-1</td> <td>Christian Queinnec, ported to CHICKEN by felix winkelmann</td> <td>A fast and feature-rich object system</td></tr> <tr><td>[[/eggref/3/modds|modds]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>A prototype based object system with multiple object dynamic dispatch</td></tr> <tr><td>[[/eggref/3/operations|operations]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>The object system from the T Lisp system</td></tr> <tr><td>[[/eggref/3/pos|pos]]</td> <td>Free Use</td> <td>Blake McBride</td> <td>POS is a portable object system for Scheme</td></tr> <tr><td>[[/eggref/3/prometheus|prometheus]]</td> <td>GPL-2</td> <td>Jorgen Schaefer</td> <td>The Prometheus prototype-based object system</td></tr> <tr><td>[[/eggref/3/protobj|protobj]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>A prototype-delegation object model</td></tr> <tr><td>[[/eggref/3/tinyclos|tinyclos]]</td> <td>BSD</td> <td>Gregor Kiczales (ported to CHICKEN and heavily modified by felix and kon)</td> <td>Gregor Kiczales TinyCLOS object system</td></tr> <tr><td>[[/eggref/3/yasos|yasos]]</td> <td>SRFI</td> <td>Kenneth Dickey</td> <td>A very simple OOP system</td></tr> </table> ==== Algorithms and data-structures <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/amb|amb]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>The non-deterministic backtracking ambivalence operator</td></tr> <tr><td>[[/eggref/3/array-lib|array-lib]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>SRFI-25 Similar, SRFI-47, SRFI-63 & More</td></tr> <tr><td>[[/eggref/3/bit-cat|bit-cat]]</td> <td>BSD</td> <td>Ben Kurtz</td> <td>Bitstring Concatenator for u8vectors</td></tr> <tr><td>[[/eggref/3/bloom-filter|bloom-filter]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Bloom Filter</td></tr> <tr><td>[[/eggref/3/box|box]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Boxing</td></tr> <tr><td>[[/eggref/3/charplot|charplot]]</td> <td>Free Use</td> <td>Aubrey Jaffer</td> <td>Character plots</td></tr> <tr><td>[[/eggref/3/coerce|coerce]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Type Coerce</td></tr> <tr><td>[[/eggref/3/date-info|date-info]]</td> <td>BSD</td> <td>Alaric B. Snell-Pym</td> <td>Converts dates from y/m/d or julian day number format into a number of formats and provides other useful data about that day</td></tr> <tr><td>[[/eggref/3/defstruct|defstruct]]</td> <td>BSD</td> <td>Dorai Sitaram</td> <td>Another record-type facility</td></tr> <tr><td>[[/eggref/3/digraph|digraph]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Directed graph in adjacency list format.</td></tr> <tr><td>[[/eggref/3/disjoint-sets|disjoint-sets]]</td> <td>BSD</td> <td>elf</td> <td>procedures for operating on disjoint sets</td></tr> <tr><td>[[/eggref/3/dyn-vector|dyn-vector]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Dynamic (dense) vectors based on SRFI-43.</td></tr> <tr><td>[[/eggref/3/ftl|ftl]]</td> <td>LGPL-2.1</td> <td>Sergei Egorov, partially reimplemented by felix winkelmann</td> <td>Interface based sequence library</td></tr> <tr><td>[[/eggref/3/ftl-peg|ftl-peg]]</td> <td>BSD</td> <td>Thomas Chust</td> <td>Parsing expression grammars for FTL</td></tr> <tr><td>[[/eggref/3/graph-bfs|graph-bfs]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Breadth-first search in a graph.</td></tr> <tr><td>[[/eggref/3/graph-cycles|graph-cycles]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Enumerate all simple cycles in a graph.</td></tr> <tr><td>[[/eggref/3/graph-dfs|graph-dfs]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Depth-first search in a graph.</td></tr> <tr><td>[[/eggref/3/graph-dominators|graph-dominators]]</td> <td>BSD</td> <td>Richard Kelsey</td> <td>Find immediate dominators in a directed graph.</td></tr> <tr><td>[[/eggref/3/graph-scc|graph-scc]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Compute strongly-connected components (SCC) of a graph.</td></tr> <tr><td>[[/eggref/3/graph-separators|graph-separators]]</td> <td>BSD</td> <td>Richard Kelsey</td> <td>Determine the separation vertices of a graph.</td></tr> <tr><td>[[/eggref/3/graph-ssa|graph-ssa]]</td> <td>BSD</td> <td>Richard Kelsey</td> <td>Compute static single assignment form of a graph.</td></tr> <tr><td>[[/eggref/3/iset|iset]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Integer sets</td></tr> <tr><td>[[/eggref/3/kvlists|kvlists]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>Provides keyword/value list (or key-value list, for short) operations.</td></tr> <tr><td>[[/eggref/3/lookup-table|lookup-table]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Simple Lookup Table</td></tr> <tr><td>[[/eggref/3/lzma|lzma]]</td> <td>BSD</td> <td>Alaric Snell-Pym</td> <td>A wrapper for the liblzma library, providing the excellent LZMA compression algorithm</td></tr> <tr><td>[[/eggref/3/metaphone|metaphone]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Metaphone 'sounds like' algorithm</td></tr> <tr><td>[[/eggref/3/npdiff|npdiff]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Compute the longest common subsequence of two sequences</td></tr> <tr><td>[[/eggref/3/orders|orders]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Functions useful for defining orders (for sorting)</td></tr> <tr><td>[[/eggref/3/pairing-heap|pairing-heap]]</td> <td>BSD</td> <td>Will M. Farr</td> <td>Persistent heap datastructure which is adaptive and supports O(1) merge.</td></tr> <tr><td>[[/eggref/3/plist-utils|plist-utils]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Provides property list operations</td></tr> <tr><td>[[/eggref/3/random-mtzig|random-mtzig]]</td> <td>BSD</td> <td>Ivan Raikov</td> <td>An implementation of the MT19937 random number generator with Marsaglia and Tang's Ziggurat algorithm to generate random numbers from a non-uniform distribution.</td></tr> <tr><td>[[/eggref/3/random-swb|random-swb]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>A random number generator based on the subtract-with-borrow (SWB) method.</td></tr> <tr><td>[[/eggref/3/random-test|random-test]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Some simple randomness tests for a sequence of numbers.</td></tr> <tr><td>[[/eggref/3/rb-tree|rb-tree]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>A sorted dictionary data structure based on red-black trees.</td></tr> <tr><td>[[/eggref/3/records|records]]</td> <td>Public Domain</td> <td>David Carlton, Aubrey Jaffer</td> <td>Procedural record-type interface</td></tr> <tr><td>[[/eggref/3/rgraph|rgraph]]</td> <td>BSD</td> <td>Jonah Beckford</td> <td>A graph library for Scheme</td></tr> <tr><td>[[/eggref/3/sets|sets]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Functions useful for working with sets</td></tr> <tr><td>[[/eggref/3/sfht|sfht]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>A dictionary data structure based on counting Bloom filters.</td></tr> <tr><td>[[/eggref/3/soundex|soundex]]</td> <td>LGPL</td> <td>Kyle R. Burton</td> <td>Implementation of the SOUNDEX phonetic string encoder.</td></tr> <tr><td>[[/eggref/3/sparse-vectors|sparse-vectors]]</td> <td>BSD</td> <td>Richard Kelsey and Jonathan Rees</td> <td>Arbitrarily large vectors</td></tr> <tr><td>[[/eggref/3/srfi-19|srfi-19]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Time Data Types and Procedures</td></tr> <tr><td>[[/eggref/3/srfi-25|srfi-25]]</td> <td>SRFI</td> <td>Jussi Piitulainen</td> <td>Multidimensional arrays</td></tr> <tr><td>[[/eggref/3/srfi-27|srfi-27]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Sources of Random Bits</td></tr> <tr><td>[[/eggref/3/srfi-4-comprehensions|srfi-4-comprehensions]]</td> <td>SRFI</td> <td>Will Farr</td> <td>SRFI-42 Comprehensions for SRFI-4 Vectors</td></tr> <tr><td>[[/eggref/3/srfi-4-utils|srfi-4-utils]]</td> <td>GPL</td> <td>Ivan Raikov</td> <td>Utility functions for SRFI-4 vectors.</td></tr> <tr><td>[[/eggref/3/srfi-40|srfi-40]]</td> <td>SRFI</td> <td>Based on the original SRFI 40 reference implementation by Philip L. Bewig and Andre von Tonder, modified for Chicken by Category 5</td> <td>SRFI-40 (Streams)</td></tr> <tr><td>[[/eggref/3/srfi-41|srfi-41]]</td> <td>BSD</td> <td>Based on the original SRFI 41 reference implementation by Philip L. Bewig, modified for Chicken by Kon Lovett</td> <td>SRFI-41 (Streams)</td></tr> <tr><td>[[/eggref/3/srfi-42|srfi-42]]</td> <td>SRFI</td> <td>Sebastian Egner</td> <td>SRFI-42 (Eager comprehensions)</td></tr> <tr><td>[[/eggref/3/srfi-47|srfi-47]]</td> <td>BSD</td> <td>Aubrey Jaffer</td> <td>SRFI-47 arrays</td></tr> <tr><td>[[/eggref/3/srfi-66|srfi-66]]</td> <td>BSD</td> <td>felix</td> <td>Octet vectors</td></tr> <tr><td>[[/eggref/3/srfi-67|srfi-67]]</td> <td>BSD</td> <td>Sebastian Egner and Jens Axel Sogaard. For Chicken - Kon Lovett</td> <td>Compare Procedures</td></tr> <tr><td>[[/eggref/3/srfi-85|srfi-85]]</td> <td>SRFI</td> <td>Will Clinger, modified for Chicken by John Cowan</td> <td>Recursive equivalence predicates</td></tr> <tr><td>[[/eggref/3/srfi-95|srfi-95]]</td> <td>Public Domain</td> <td>Richard O'Keefe, modified for Chicken by John Cowan</td> <td>Sorting and merging</td></tr> <tr><td>[[/eggref/3/stack|stack]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Provides LIFO queue (stack) operations</td></tr> <tr><td>[[/eggref/3/stream-ext|stream-ext]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>A library of extensions to the SRFI-40 streams</td></tr> <tr><td>[[/eggref/3/topological-sort|topological-sort]]</td> <td>Public Domain</td> <td>Mikael Djurfeldt</td> <td>Topological sorting</td></tr> <tr><td>[[/eggref/3/treap|treap]]</td> <td>GPL</td> <td>Oleg Kiselyov; packaged for Chicken Scheme by Ivan Raikov</td> <td>A sorted dictionary data structure based on randomized search trees.</td></tr> <tr><td>[[/eggref/3/ugarit|ugarit]]</td> <td>BSD</td> <td>Alaric Snell-Pym</td> <td>A backup/archival system based on content-addressed storage</td></tr> <tr><td>[[/eggref/3/varsubst|varsubst]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Generalized variable substitution semantics.</td></tr> <tr><td>[[/eggref/3/vector-lib|vector-lib]]</td> <td>Artistic</td> <td>Taylor Campbell, with CHICKEN-specific modifications by William S. Annis. Adapted to final version and bugs fixed by Zbigniew Szadkowski</td> <td>A port of the reference implementation of SRFI-43 with additions and fixes</td></tr> <tr><td>[[/eggref/3/wt-tree|wt-tree]]</td> <td>MIT-ish</td> <td>Reed Sheridan</td> <td>Weight-balanced trees</td></tr> <tr><td>[[/eggref/3/z3|z3]]</td> <td>BSD</td> <td>Oskar Schirmer and felix winkelmann</td> <td>A gzip (RFC1952) compression and decompression library</td></tr> </table> ==== Data formats and parsing <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/base64|base64]]</td> <td>BSD</td> <td>James Bailey</td> <td>Parsing and unparsing of base-64 strings</td></tr> <tr><td>[[/eggref/3/charconv|charconv]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Character encoding utilities</td></tr> <tr><td>[[/eggref/3/chasen|chasen]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Bindings to ChaSen Japanese Morphological Analyzer</td></tr> <tr><td>[[/eggref/3/content-type|content-type]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Parsing of Content-type headers</td></tr> <tr><td>[[/eggref/3/cookie|cookie]]</td> <td>BSD</td> <td>Reed Sheridan</td> <td>Parse and construct HTTP cookies</td></tr> <tr><td>[[/eggref/3/csv|csv]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>Parsing comma-separated values</td></tr> <tr><td>[[/eggref/3/filepath|filepath]]</td> <td>BSD</td> <td>Ivan Raikov</td> <td>Cross-platform file path manipulation.</td></tr> <tr><td>[[/eggref/3/formular|formular]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Processing of CGI email forms.</td></tr> <tr><td>[[/eggref/3/icalendar|icalendar]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>iCalendar (RFC 2445) parser.</td></tr> <tr><td>[[/eggref/3/iconv|iconv]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Character-set conversions</td></tr> <tr><td>[[/eggref/3/input-parse|input-parse]]</td> <td>unknown</td> <td>Oleg Kiselyov. Ported to chicken by Shawn Wagner.</td> <td>input-stream tokenizing and parsing routines.</td></tr> <tr><td>[[/eggref/3/json|json]]</td> <td>MIT</td> <td>Tony Garnock-Jones</td> <td>A JSON library</td></tr> <tr><td>[[/eggref/3/lalr|lalr]]</td> <td>GPL</td> <td>Dominique Boucher</td> <td>An efficient LALR(1) parser generator</td></tr> <tr><td>[[/eggref/3/levenshtein|levenshtein]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Levenshtein edit distance</td></tr> <tr><td>[[/eggref/3/lexgen|lexgen]]</td> <td>BSD</td> <td>Ivan Raikov</td> <td>Lexer combinators.</td></tr> <tr><td>[[/eggref/3/magic|magic]]</td> <td>BSD</td> <td>Peter Busser</td> <td>Identifies file types</td></tr> <tr><td>[[/eggref/3/mat5-lib|mat5-lib]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Reading and writing Level 5 MAT-File format.</td></tr> <tr><td>[[/eggref/3/mistie|mistie]]</td> <td>BSD</td> <td>Dorai Sitaram</td> <td>A programmable filter</td></tr> <tr><td>[[/eggref/3/mpeg3|mpeg3]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Decodes several MPEG standards into uncompressed data suitable for editing and playback.</td></tr> <tr><td>[[/eggref/3/nemo|nemo]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>Neuron model description language.</td></tr> <tr><td>[[/eggref/3/nnweave|nnweave]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>NeuroML to NEURON code transformation.</td></tr> <tr><td>[[/eggref/3/packedobjects|packedobjects]]</td> <td>BSD</td> <td>John P. T. Moore</td> <td>cross platform bit-stuffing based on Packed Encoding Rules</td></tr> <tr><td>[[/eggref/3/packrat|packrat]]</td> <td>MIT</td> <td>Tony Garnock-Jones</td> <td>A packrat parsing library</td></tr> <tr><td>[[/eggref/3/php-s11n|php-s11n]]</td> <td>MIT</td> <td>Arto Bendiken</td> <td>Serialization/unserialization of PHP data types.</td></tr> <tr><td>[[/eggref/3/plurals|plurals]]</td> <td>BSD</td> <td>Joshua B. Griffith</td> <td>Basic conversion of plural forms to singular forms</td></tr> <tr><td>[[/eggref/3/rfc3339|rfc3339]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>RFC3339 Date and Time Format</td></tr> <tr><td>[[/eggref/3/rfc822|rfc822]]</td> <td>BSD</td> <td>Reed Sheridan</td> <td>Parse Internet Message Format</td></tr> <tr><td>[[/eggref/3/s11n|s11n]]</td> <td>BSD</td> <td>felix</td> <td>Serialization of arbitrary data.</td></tr> <tr><td>[[/eggref/3/scsh-regexp|scsh-regexp]]</td> <td>GPL-2</td> <td>Dan Muresan</td> <td>Emulates SCSH regular expression API</td></tr> <tr><td>[[/eggref/3/silex|silex]]</td> <td>BSD</td> <td>Danny Dubé</td> <td>An efficient and powerful lexer generator</td></tr> <tr><td>[[/eggref/3/stream-base64|stream-base64]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Performs lazy encoding and decoding of streams of characters to and from Base64</td></tr> <tr><td>[[/eggref/3/stream-htpasswd|stream-htpasswd]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Lazy parser and generator of Apache htpasswd password files.</td></tr> <tr><td>[[/eggref/3/stream-ldif|stream-ldif]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Library to parse and produce files in the LDAP Data Interchange Format (LDIF) file format</td></tr> <tr><td>[[/eggref/3/stream-parser|stream-parser]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>A stream-based parser</td></tr> <tr><td>[[/eggref/3/stream-sections|stream-sections]]</td> <td>GPL-2</td> <td>Alejandro Forero Cuervo</td> <td>Split a document into sections and do useful things with the results.</td></tr> <tr><td>[[/eggref/3/tar|tar]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Reading and writing tar archives</td></tr> <tr><td>[[/eggref/3/unicode-normalization|unicode-normalization]]</td> <td>BSD</td> <td>Adam C. Emerson</td> <td>Unicode normalization from scheme48.</td></tr> <tr><td>[[/eggref/3/utf8|utf8]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Unicode support</td></tr> </table> ==== Tools <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/patch|patch]]</td> <td>MIT</td> <td>Tony Sidaway</td> <td>Simple source patch utility</td></tr> <tr><td>[[/eggref/3/sbky|sbky]]</td> <td>BSD</td> <td>Angel Ortega, ported to Scheme by felix winkelmann</td> <td>A Scheme port of the `bky' version control system</td></tr> <tr><td>[[/eggref/3/sigma|sigma]]</td> <td>GPL-3</td> <td>Ivan Raikov</td> <td>An image gallery generator.</td></tr> </table> ==== Sound <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/mpd-client|mpd-client]]</td> <td>BSD</td> <td>Hans Bulfone</td> <td>Interface to Music Player Daemon</td></tr> <tr><td>[[/eggref/3/openal|openal]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>OpenAL 1.1 bindings</td></tr> </table> ==== Unit-testing <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/check|check]]</td> <td>SRFI</td> <td>Sebastian Egner</td> <td>SRFI-78 leightweight testing</td></tr> <tr><td>[[/eggref/3/embedded-test|embedded-test]]</td> <td>GPL-3</td> <td>Alejandro Forero Cuervo</td> <td>A simple framework for unit tests that allows them to be embedded directly in programs' code</td></tr> <tr><td>[[/eggref/3/selenium|selenium]]</td> <td>Public Domain</td> <td>Robin Lee Powell</td> <td>A Selenium RC driver in Chicken Scheme.</td></tr> <tr><td>[[/eggref/3/test|test]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Yet Another Testing Utility</td></tr> <tr><td>[[/eggref/3/testbase|testbase]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Unit Testing Framework</td></tr> <tr><td>[[/eggref/3/testbase-driver|testbase-driver]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Unit Testing Framework Test Runner</td></tr> <tr><td>[[/eggref/3/testbase-results|testbase-results]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>TestBase Test Results Support</td></tr> <tr><td>[[/eggref/3/testeez|testeez]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>Simple Test Mechanism for Scheme</td></tr> </table> ==== Cryptography <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/crc|crc]]</td> <td>BSD</td> <td>Daishi Kato</td> <td>Computes CRC checksum</td></tr> <tr><td>[[/eggref/3/crc16|crc16]]</td> <td>BSD</td> <td>Ben Kurtz</td> <td>CRC16 Algorithm</td></tr> <tr><td>[[/eggref/3/crypt|crypt]]</td> <td>BSD</td> <td>Thomas Christian Chust</td> <td>Bindings to the cryptlib library</td></tr> <tr><td>[[/eggref/3/crypt3|crypt3]]</td> <td>BSD</td> <td>Thomas Christian Chust and Kon Lovett</td> <td>Bindings to the cryptlib library (for cryptlib 3.3.1)</td></tr> <tr><td>[[/eggref/3/hashes|hashes]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Miscellaneous Hash Functions</td></tr> <tr><td>[[/eggref/3/md5|md5]]</td> <td>GPL-2</td> <td>Chistophe Devine (packaged for CHICKEN by felix winkelmann)</td> <td>Computes MD5 (RFC1321) checksums</td></tr> <tr><td>[[/eggref/3/message-digest|message-digest]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Message Digest Support</td></tr> <tr><td>[[/eggref/3/ripemd|ripemd]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>RIPE Message Digest</td></tr> <tr><td>[[/eggref/3/sha1|sha1]]</td> <td>GPL-2</td> <td>Chistophe Devine (packaged for CHICKEN by [[felix winkelmann]])</td> <td>Computes SHA1 (FIPS-180-1) checksums</td></tr> <tr><td>[[/eggref/3/sha2|sha2]]</td> <td>BSD</td> <td>Aaron D. Gifford and Daishi Kato</td> <td>Computes 256-, 385- and 512-bit SHA2 checksums</td></tr> <tr><td>[[/eggref/3/tiger-hash|tiger-hash]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Tiger/192 Message Digest</td></tr> </table> ==== User interface toolkits <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/PS-tk|PS-tk]]</td> <td>BSD</td> <td>Nils M Holm, Chicken port by Kon Lovett]</td> <td>PS-tk</td></tr> <tr><td>[[/eggref/3/bb|bb]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An easy-to-use GUI toolkit based on FLTK</td></tr> <tr><td>[[/eggref/3/japi|japi]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A set of bindings for the JAPI GUI toolkit</td></tr> <tr><td>[[/eggref/3/ncurses|ncurses]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to the UNIX <code>ncurses</code> package</td></tr> <tr><td>[[/eggref/3/qt|qt]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A leightweight Qt 4 interface</td></tr> <tr><td>[[/eggref/3/slang|slang]]</td> <td>MIT</td> <td>Tony Sidaway</td> <td>Bindings for slang text-based user interface library.</td></tr> <tr><td>[[/eggref/3/sx|sx]]</td> <td>LGPL-2.1</td> <td>Dominic Giampaolo, chicken interface by felix winkelmann</td> <td>Simple X programming</td></tr> <tr><td>[[/eggref/3/tk|tk]]</td> <td>Bremer License</td> <td>Wolf-Dieter Busch</td> <td>An interface to the Tk GUI toolkit</td></tr> <tr><td>[[/eggref/3/xosd|xosd]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to the XOSD (On Screen Display) library</td></tr> </table> ==== Code generation <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/crunch|crunch]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A restricted statically typed subset of Scheme</td></tr> <tr><td>[[/eggref/3/fp|fp]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interpreter/translator for a dialect of John Backus' FP language</td></tr> <tr><td>[[/eggref/3/inline|inline]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Use compiled code inside interpreter scripts</td></tr> <tr><td>[[/eggref/3/lightning|lightning]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>An interface to GNU Lightning</td></tr> <tr><td>[[/eggref/3/sassy|sassy]]</td> <td>LGPL-2.1</td> <td>Jonathan Kraut</td> <td>A portable 32-bit assembler for x86 processors</td></tr> <tr><td>[[/eggref/3/tcc|tcc]]</td> <td>BSD</td> <td>[[felix winkelmann]]</td> <td>Accessing the Tiny C compiler from Scheme</td></tr> </table> ==== Macros and meta-syntax <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/alexpander|alexpander]]</td> <td>BSD</td> <td>Al Petrofsky</td> <td>A syntax-rules macro-expander</td></tr> <tr><td>[[/eggref/3/riaxpander|riaxpander]]</td> <td>BSD</td> <td>Taylor R Campbell (with one file written by Jonathan A Rees)</td> <td>Flexible macro expander</td></tr> <tr><td>[[/eggref/3/simplify|simplify]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>simplifies macroexpand code</td></tr> <tr><td>[[/eggref/3/syntactic-closures|syntactic-closures]]</td> <td>MIT</td> <td>Alan Bawden, Chris Hanson</td> <td>Hygienic macros with syntactic closures</td></tr> <tr><td>[[/eggref/3/syntax-case|syntax-case]]</td> <td>MIT</td> <td>R. Kent Dybvig, Oscar Waddell, Bob Hieb, Carl Bruggeman</td> <td>Portable syntax-case macro and module system</td></tr> </table> ==== Miscellaneous <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/advice|advice]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>`advise' functionality</td></tr> <tr><td>[[/eggref/3/args|args]]</td> <td>BSD</td> <td>Zbigniew</td> <td>Command-line argument handling, on top of SRFI 37</td></tr> <tr><td>[[/eggref/3/args-doc|args-doc]]</td> <td>Free Use</td> <td>Ivan Shmakov</td> <td>Formatting GNU-style help messages</td></tr> <tr><td>[[/eggref/3/caketext|caketext]]</td> <td>Public Domain</td> <td>Robin Lee Powell</td> <td>A localization egg after Perl's Locale::Maketext</td></tr> <tr><td>[[/eggref/3/currency-converter|currency-converter]]</td> <td>GPL-3</td> <td>Jean-Philippe Theberge</td> <td>Perform currency conversion</td></tr> <tr><td>[[/eggref/3/egg-post-commit|egg-post-commit]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Maintenance tool for egg repository management and upload</td></tr> <tr><td>[[/eggref/3/eopl|eopl]]</td> <td>Free Use</td> <td>various</td> <td>Support code for the book 'Essentials of Programming Languages'</td></tr> <tr><td>[[/eggref/3/files|files]]</td> <td>BSD</td> <td>Mario Domenech Goulart</td> <td>Basic procedures from the `files' unit for chicken versions < 3.4.0</td></tr> <tr><td>[[/eggref/3/free-gettext|free-gettext]]</td> <td>BSD</td> <td>Alex Shinn</td> <td>Binary-compatible flexible gettext reimplementation</td></tr> <tr><td>[[/eggref/3/gettext|gettext]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>Wrapper around the gettext API for translating messages.</td></tr> <tr><td>[[/eggref/3/logging|logging]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Logging Facility</td></tr> <tr><td>[[/eggref/3/logo|logo]]</td> <td>Creative Commons</td> <td>Arthur Nunes-Harwitt</td> <td>A small Logo implementation</td></tr> <tr><td>[[/eggref/3/numspell|numspell]]</td> <td>LGPL-2.1</td> <td>Neil van Dyke</td> <td>Spelling Numbers as English in Scheme</td></tr> <tr><td>[[/eggref/3/peep|peep]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Explore the compiler's symbol database</td></tr> <tr><td>[[/eggref/3/regex-extras|regex-extras]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Access to PCRE Structures</td></tr> <tr><td>[[/eggref/3/runcmd|runcmd]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Convenience macros for invoking shell commands</td></tr> <tr><td>[[/eggref/3/srfi-29|srfi-29]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Localization</td></tr> <tr><td>[[/eggref/3/srfi-34|srfi-34]]</td> <td>SRFI</td> <td>ben</td> <td>SRFI-34: Exception Handling for Programs</td></tr> <tr><td>[[/eggref/3/srfi-37|srfi-37]]</td> <td>SRFI</td> <td>Anthony Carrico</td> <td>A simple and flexible command-line option parsing facility</td></tr> <tr><td>[[/eggref/3/stalin|stalin]]</td> <td>GPL-2</td> <td>Jeffrey Mark Siskind, ported to CHICKEN by felix winkelmann</td> <td>An aggressively optimizing Scheme compiler</td></tr> <tr><td>[[/eggref/3/svn-client|svn-client]]</td> <td>Public Domain</td> <td>Alejandro Forero Cuervo</td> <td>A wrapper around Subversion's libsvn_client C library.</td></tr> <tr><td>[[/eggref/3/svn-post-commit-hooks|svn-post-commit-hooks]]</td> <td>GPL</td> <td>Alejandro Forero Cuervo</td> <td>Convenience functions for creating applications that run as post-commit hooks for a Subversion repository.</td></tr> <tr><td>[[/eggref/3/tabexpand|tabexpand]]</td> <td>LGPL-2.1</td> <td>Neil W. van Dyke</td> <td>Tab Character Expansion in Scheme</td></tr> <tr><td>[[/eggref/3/tool|tool]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Simplified command-line parsing</td></tr> </table> ==== Concurrency and parallelism <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/futures|futures]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>Concurrent evaluation of expressions</td></tr> <tr><td>[[/eggref/3/mailbox|mailbox]]</td> <td>BSD</td> <td>Felix Winkelmann and Kon Lovett</td> <td>Thread-safe queues with timeout</td></tr> <tr><td>[[/eggref/3/synch|synch]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Synchronization Forms</td></tr> </table> ==== Unsupported or redundant <table> <tr><th>Egg</th> <th>Licence</th> <th>Author</th> <th>Description</th></tr> <tr><td>[[/eggref/3/format|format]]</td> <td>Public Domain</td> <td>Dirk Lutzebeck</td> <td>Common-Lisp style formatted output</td></tr> <tr><td>[[/eggref/3/matcher|matcher]]</td> <td>BSD</td> <td>Andre van Tonder; ported to CHICKEN by Dale Jordan</td> <td>Match extension to srfi-57</td></tr> <tr><td>[[/eggref/3/oblist|oblist]]</td> <td>BSD</td> <td>[[felix winkelmann]]</td> <td>Obtain list of all interned symbols and variables</td></tr> <tr><td>[[/eggref/3/proplist|proplist]]</td> <td>BSD</td> <td>Kon Lovett</td> <td>Provides property list operations</td></tr> <tr><td>[[/eggref/3/r6rs-libraries|r6rs-libraries]]</td> <td>SRFI</td> <td>Andre van Tonder and felix</td> <td>Simple, hygienic macros (SRFI-72 compliant) and R6RS (draft) libraries</td></tr> <tr><td>[[/eggref/3/simple-macros|simple-macros]]</td> <td>SRFI</td> <td>Andre van Tonder</td> <td>Simple, hygienic macros and portable modules (SRFI-72 compliant)</td></tr> <tr><td>[[/eggref/3/sqlite|sqlite]]</td> <td>BSD</td> <td>Lars Rustemeier, with some modifications by [[felix winkelmann]]</td> <td>A wrapper for the SQLite database engine</td></tr> <tr><td>[[/eggref/3/srfi-57|srfi-57]]</td> <td>SRFI</td> <td>Andre van Tonder</td> <td>[[http://srfi.schemers.org/srfi-57/srfi-57.html|SRFI-57]] records</td></tr> <tr><td>[[/eggref/3/structures|structures]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>A module system inspired by SML structures and Taylor Campbell's lexmod module system</td></tr> <tr><td>[[/eggref/3/test-infrastructure|test-infrastructure]]</td> <td>BSD</td> <td>Peter Keller & Kon Lovett</td> <td>Unit-testing framework</td></tr> <tr><td>[[/eggref/3/url|url]]</td> <td>BSD</td> <td>felix winkelmann</td> <td>URL (RFC 1739) parsing</td></tr>
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you subtract 21 from 5?