You are looking at historical revision 685 of this page. It may differ significantly from its current revision.

About

This wiki is a project with the goal of providing high-quality documentation for Chicken eggs authored in a collaborative manner.

Language Extensions

matcher : Match extension to srfi-57. generator : Provides generator-like coroutine operations. generalised-case : A generalised version of CASE that accepts an equality predicate make : The PLT make macro structures : A module system inspired by SML structures and Taylor Campbell's "lexmod" module system regex-case : Provides an easy to use case construct for regular expression matching datatype : A facility for creating and deconstructing variant records (from EOPL) awk : The SCSH/PLT awk macro tagged-begin : An extended form of begin similar to Common Lisp's tagbody inline : Use compiled code inside interpreter scripts pmatch : Macroless ML-style pattern matching miscmacros : Various helper macros loop : The Common Lisp LOOP macro futures : Concurrent evaluation of expressions synch : Synchronization macros F-operator : Shift/Reset Control Operators. procedure-surface : Generic Programming Support misc-extn : Miscellaneous useful stuff object-apply : Allows calling arbitrary data objects as procedures srfi-45 : Primitives for Expressing Iterative Lazy Algorithms

Graphics

epeg : Chicken bindings for the JPEG thumbnail creation library epeg opengl : OpenGL + GLUT bindings ezxdisp : A simple 2D and 3D graphics library for X11 imlib2 : Chicken bindings for the Imlib2 image library g2 : Interface to the G2 graphics libary sdl : Basic SDL support aquaterm : Bindings to the C API for AquaTerm xlib : Xlib bindings xmi : An interface to libxmi, the 2D rasterization library cairo : Chicken bindings for Cairo, a vector graphics library

Debugging Tools

debug : A debugger for evaluated code dissector : An object inspector for Chicken

Logic programming

schelog
Dorai Sitaram's embedding of logic programming into Scheme
kanren
A declarative applicative logic programming system.

Networking

udp
An interface to User Datagram Protocol sockets
openssl
Bindings to the OpenSSL SSL/TLS library
hostinfo
Look up host, protocol, and service information
http
HTTP client and server
pop3
Mail retrieval via the POP3 protocol
ftp
Simple FTP client
spread
An interface to the Spread communication library
pcap
Interface to the portable packet-capture library
tcp-server
A simple generic multithreaded tcp-server
smtp
A simple library to send e-mail via SMTP (RFC 821)
tcp6
A replacement for the tcp library unit that supports IPv6
irc
A simple IRC client
unix-sockets
UNIX domain sockets
scgi
SCGI server library
rpc
A flexible peer-to-peer RPC system.
uuid
OSF DCE 1.1 UUID
uuid-ossp
OSSP UUID

Input/Output

ppi
user-space interface to ppbus parallel 'geek' port under FreeBSD
binary-parse
Reading variable number of bits from a sequential input stream
sfio
Interface to AT&T's Safe/Fast I/O Library
format-modular
Modular Common-Lisp style formatted output
srfi-38
The SRFI-38 reference implementation
readline
An interface to the GNU readline library
format
Common-Lisp style formatted output
nbstdin
Non-blocking Standard Input
pipeline
Run multiple subprocesses connected via pipes

Databases

metakit
An interface to the Metakit database
postgresql
Some simple bindings for PostgreSQL's C-api
sedna
An interface to the Sedna XML DBMS
sqlite
A wrapper for the SQLite database engine
gdbm
GNU DBM interface
sqlite3
Bindings to version 3.x of the SQLite API
mysql
MySQL bindings for Chicken
sql
A small scheme library for constructing SQL queries
sqlite3-tinyclos
A bridge between persistent storage in SQLite3 tables and TinyCLOS objects.

Interfacing to other languages

lazy-ffi
A foreign function interface for lazy people
jni
An interface to Java(tm) via JNI
javahack
A simple interface to Java(tm)
objc
An Objective-C interface

Web programing

spiffy-utils
Utility library for Spiffy
spiffy
Spiffy the web-server
htmlprag
A permissive HTML parser
html-stream
Generating SRFI-40 streams of characters
xml-rpc
XML-RPC client/server
phoghorn
A thumbnail gallery library for spiffy
stream-cgi
A library with functionality useful for creating applications that run under CGI using streams
web-scheme
Web programming in a Scheme way
ajax
Using xmlHttpRequest with the Spiffy web-server
stream-wiki
Parsing files in wiki format and rendering them to HTML
url
URL (RFC 1739) parsing
mime
Parse MIME Messages
honu
A parser for `honu' syntax
alexpander
A syntax-rules macro-expander
content-type
Parsing of Content-type headers

XML processing

sxpath
An S-expression based query language for SXML data
rss
A RSS parser
sxml-transforms
The SXML transformations (to XML, SXML, and HTML) from the SSAX project at Sourceforge
doctype
Exports strings corresponding to standard XML (XHTML, HTML) doctypes
ssax
Oleg Kiselyov's XML parser
expat
An interface to James Clark's Expat XML parser
asxt
Another Scheme XML Transformer
sxml-tools
The sxml-tools from the SSAX project
xxexpr
Manipulation of eXtended Xml EXPRessions
sxml-match
Pattern matching of SXML

Documentation tools

eggdoc
An egg documentation tool
man
Access the manual from the REPL
mole
A literate programming tool for Scheme

Mathematical libraries

numbers
Full numeric tower support
blas
An interface to level 1, 2 and 3 BLAS routines
gmp
Bindings for the GNU Multiprecision Arithmetic Library
complex
Support for complex numbers in Chicken
mapm
Binding to Mike's Arbitrary Precision Math Library
mathh
Some ISO C math functions

Object-oriented programming

prometheus
The Prometheus prototype-based object system
protobj
A prototype-delegation object model
meroon
A fast and feature-rich object system
c3
Implements C3 class linearization for TinyCLOS

Algorithms and data-structures

srfi-57
SRFI-57 records
stream-ext
A library of extensions to the SRFI-40 streams
rgraph
A graph library for Scheme
iset
Integer sets
proplist
Provides property list operations
srfi-25
Multidimensional arrays
mailbox
A thread-safe queue
stack
Provides LIFO queue (stack) operations
vector-lib
A port of the reference implementation of SRFI-43 with additions and fixes
srfi-40
SRFI-40 (Streams)
srfi-42
SRFI-42 (Eager comprehensions)
srfi-47
SRFI-47 arrays
defstruct
Another record-type facility
box
Boxing
amb
The non-deterministic backtracking ambivalence operator
wt-tree
Weight-balanced trees
srfi-66
Octet vectors
srfi-19
Provides SRFI-19.
z3
A gzip (RFC1952) compression and decompression library
bloom-filter
Bloom Filter
srfi-27
Sources of Random Bits
array-lib
SRFI-25 Similar, SRFI-47, SRFI-63 & More

Data formats and parsing

rfc3339
RFC3339 Date and Time Format
stream-parser
A stream-based parser
utf8
Unicode support
charconv
Character encoding utilities
iconv
Character-set conversions
csv
Parsing comma-separated values
silex
An efficient and powerful lexer generator
magic
Identifies file types
stream-base64
Performs lazy encoding and decoding of streams of characters to and from Base64
base64
Parsing and unparsing of base-64 strings
levenshtein
Levenshtein edit distance
lalr
An efficient LALR(1) parser generator
stream-ldif
Library to parse and produce files in the LDAP Data Interchange Format (LDIF) file format
s11n
Serialization of arbitrary data.
packrat
A packrat parsing library
cookie
Parse and construct HTTP cookies
json
A JSON library
tar
Reading and writing tar archives
packedobjects
cross platform bit-stuffing based on Packed Encoding Rules
rfc822
Parse Internet Message Format
mistie
A programmable filter

Tools

sassy
A portable 32-bit assembler for x86 processors

Unit-testing

testeez
Simple Test Mechanism for Scheme
test-infrastructure
Unit-testing framework

Cryptography

crypt3
Bindings to the cryptlib library (for cryptlib 3.2.2)
sha1
Computes SHA1 (FIPS-180-1) checksums
sha2
Computes 256-, 385- and 512-bit SHA2 checksums
crypt
Bindings to the cryptlib library
md5
Computes MD5 (RFC1321) checksums
crc
Computes CRC checksum
ripemd
RIPE Message Digest
message-digest
Message Digest Support
tiger-hash
Tiger/192 Message Digest
hashes
Miscellaneous Hash Functions

User interface toolkits

ncurses
An interface to the UNIX ncurses package
bb
An easy-to-use GUI toolkit based on FLTK
sx
Simple X programming
tk
An interface to the Tk GUI toolkit
japi
A set of bindings for the JAPI GUI toolkit
qthack
A leightweight Qt interface
xosd
An interface to the XOSD (On Screen Display) library

Run-time code generation

lightning
An interface to GNU Lightning
tcc
Accessing the Tiny C compiler from Scheme

Macros and meta-syntax

simple-macros
Simple, hygienic macros and portable modules (SRFI-72 compliant)
syntax-case
Portable syntax-case macro and module system
r6rs-libraries
Simple, hygienic macros (SRFI-72 compliant) and R6RS (draft) libraries

Miscellaneous

oblist
Obtain list of all interned symbols and variables
autoload
Load modules lazily
environments
User defined evaluation environments
args
Command-line argument handling facilities, layered on SRFI 37 (args-fold)
sandbox
A safe evaluation environment
srfi-37
A simple and flexible command-line option parsing facility
fp
An interpreter/translator for a dialect of John Backus' FP language
locale
Provides locale operations
srfi-29
Provides SRFI-29
suspension
Serialized limited continuations
lirc-client
Interface to LIRC (Linux Infrared Remote Control) client library
rlimit
Setting resource limits