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

Eggs

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

You can subscribe to the Egg RSS 2.0 feed.

Installing eggs

To install any of the eggs, run the following command, replacing name for the egg's name:

chicken-install name

This will download the egg and install it. Enter

chicken-install -help

for a list of options or consult the chicken-install(1) manual page.

Loading eggs

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.

Source code

To obtain the source code to an egg, run

chicken-install -r name

You can also browse the Subversion egg repository on the web.

Use the username "anonymous" and the password "".

See http://code.call-cc.org for instructions about how to ckeckout 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.

Contribute

If you want to help document the eggs, please consult the eggs guidelines.

If you want to contribute new eggs, you might want to consult the eggs tutorial and the official, automatically built, list of eggs: egg index.