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
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