source: project/wiki/eggs @ 36855

Last change on this file since 36855 was 36855, checked in by svnwiki, 7 months ago

Anonymous wiki edit for IP [93.104.239.162]: Switch chicken 5 and chicken 4 links, as the newer ones are more important now

File size: 3.5 KB
Line 
1== Eggs
2
3[[toc:]]
4[[tags:navigation]]
5
6== Introduction
7
8''Eggs'' are CHICKEN-specific extension libraries, conveniently packaged
9in a source archive. They are stored in a centralized repository and can
10be downloaded and installed (mostly) automatically. You can also create a [[running-an-egg-mirror|local mirror]] of the repository, if you prefer.
11
12[[http://wiki.call-cc.org/chicken-projects/egg-index-5.html|The egg index]]
13is the official list of eggs for the latest CHICKEN major version (5), along with their documentation. If you are looking for eggs for the previous CHICKEN major version (4), they are [[http://wiki.call-cc.org/chicken-projects/egg-index-4.html|here]] For software archeology and legacy systems CHICKEN 3 eggs are kept [[/eggref/3/index|here]].
14
15You can subscribe to the [[http://wiki.call-cc.org/chicken-projects/egg-rss-feed-5.xml|egg RSS 2.0 feed for CHICKEN 5]] or that for the legacy [[http://wiki.call-cc.org/chicken-projects/egg-rss-feed-4.xml|CHICKEN 4]].
16
17
18== Installing eggs
19
20To install any of the eggs, run the following command, replacing {{name}} for the egg's name:
21
22 chicken-install name
23
24This will download the egg and install it. Enter
25
26 chicken-install -help
27
28for a list of options or consult the {{chicken-install(1)}} manual page.
29
30== Loading eggs
31
32To load and import an egg into your program, use:
33
34<enscript highlight="scheme">
35 (require-extension egg-name)      ; load library code, import identifiers
36</enscript>
37
38To restrict, rename, or prefix imported identifiers, you can split up
39the load and import pieces:
40
41<enscript highlight="scheme">
42 (require-library gopher)          ; load library code
43
44 (import (prefix gopher gopher:))  ; import identifiers with a prefix
45</enscript>
46
47== Keeping eggs in an alternative directory
48
49You can keep the eggs repository in a different repository. See the [[/man/4/Extensions#changing-repository-location|Extensions/Changing repository location]] section of the manual for more information on that.
50== Source code
51
52To obtain the source code to an egg, run
53
54 chicken-install -r name
55
56You can also browse the [[http://code.call-cc.org/svn/chicken-eggs/release/4/|Subversion egg repository]]
57on the web (for eggs hosted on call-cc.org -- see the egg documentation for eggs hosted on other sites (helpful link for finding the origin of eggs hosted on other sites: [[http://bugs.call-cc.org/browser/project/release/4/egg-locations]])).
58
59Use the username "anonymous" and the password "".
60
61See [[http://code.call-cc.org]] for instructions about how to checkout code for eggs.
62
63Many 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 [[http://code.call-cc.org/svn/chicken-eggs/release/4/|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 [[http://wiki.call-cc.org/chicken-projects/egg-index-4.html|egg index page]].
64
65
66== Contribute
67
68If you want to help document the eggs, please consult the ''Documentation'' section at the [[eggs tutorial]] page.
69
70If you want to contribute new eggs, you might want to consult the
71[[eggs tutorial]] and the official, automatically built, list of eggs:
72[[http://wiki.call-cc.org/chicken-projects/egg-index-4.html|egg index]].
73
74In case you don't have a Subversion account, check the [[/contribute|Contribute]] page to know how to request one.
75
Note: See TracBrowser for help on using the repository browser.