source: project/chicken/branches/hygienic/manual/Overview @ 11989

Last change on this file since 11989 was 11989, checked in by felix winkelmann, 12 years ago

added srfi-98 support, chicken-install should handle core library units as dependencies (untested)

File size: 1.9 KB
1== Overview
3'''CHICKEN is a compiler that translates Scheme source files into C''', which in
4turn can be fed to a C-compiler to generate a standalone executable.
5An interpreter is also available and can be used as
6a scripting environment or for testing programs before compilation.
8This package is distributed under the '''BSD license''' and as such is free
9to use and modify.
11The method of compilation and the design of the runtime-system follow
12closely Henry Baker's [[|CONS Should Not CONS Its Arguments, Part II: Cheney on the M.T.A.]] paper and expose a number of interesting
15* Consing (creation of data on the heap) is relatively inexpensive, because a generational garbage collection scheme is used, in which short-lived data structures are reclaimed extremely quickly.
17* Moreover, {{call-with-current-continuation}} is practically for free and CHICKEN does not suffer under any performance penalties if first-class continuations are used in complex ways.
19The generated C code is fully tail-recursive.
21=== Features
23Some of the features supported by CHICKEN:
25* SRFIs 0, 1, 2, 4, 6, 8-19, 23, 25-31, 37-40, 42, 43, 45, 47, 55, 57, 60-63, 66, 69, 72, 78, 85, 95 and 98.
26* Lightweight threads based on first-class continuations
27* Pattern matching with Andrew Wright's {{match}} package
28* Record structures
29* Extended comment- and string-literal syntaxes
30* Libraries for regular expressions, string handling
31* UNIX system calls and extended data structures
32* Create interpreted or compiled shell scripts written in Scheme for UNIX or Windows
33* Compiled C files can be easily distributed
34* Allows the creation of fully self-contained statically linked executables
35* On systems that support it, compiled code can be loaded dynamically
37This manual is merely a reference for the CHICKEN system and assumes
38a working knowledge of Scheme.
41Back to [[The User's Manual]]
Note: See TracBrowser for help on using the repository browser.