Eggs are CHICKEN-specific extension libraries, conveniently packaged in a source archive. They are stored in a centralized repository and can be downloaded and installed (mostly) automatically. You can also create a local mirror of the repository, if you prefer.
The egg index is the official list of eggs for the latest CHICKEN major version (4), along with their documentation. If you are looking for eggs for the previous CHICKEN major version (3), they are here. The eggs for the upcoming new major release (5) are listed here.
To install any of the eggs, run the following command, replacing name for the egg's name:
This will download the egg and install it. Enter
for a list of options or consult the chicken-install(1) manual page.
To load and import an egg into your program, use:
(require-extension egg-name) ; load library code, import identifiers
To restrict, rename, or prefix imported identifiers, you can split up the load and import pieces:
(require-library gopher) ; load library code (import (prefix gopher gopher:)) ; import identifiers with a prefix
Keeping eggs in an alternative directory
You can keep the eggs repository in a different repository. See the Extensions/Changing repository location section of the manual for more information on that.
To obtain the source code to an egg, run
chicken-install -r name
You can also browse the Subversion egg repository on the web (for eggs hosted on call-cc.org -- see the egg documentation for eggs hosted on other sites).
Use the username "anonymous" and the password "".
See http://code.call-cc.org for instructions about how to checkout code for eggs.
Many eggs in the repository contain tags/ and trunk/ directories --- tags/x.y.z corresponding to egg version x.y.z, and trunk/ being the development area --- so the last command may check out more code than you want. You can browse the repository or use svn ls to find a specific version. Additionally, the current "release" version number of each egg can be found on the egg index page.
If you want to help document the eggs, please consult the Documentation section at the eggs tutorial page.
In case you don't have a Subversion account, check the Contribute page to know how to request one.