At O.S. Systems we use CHICKEN a lot. For a
background, let us first understand what CHICKEN really is (copied
from its website):
“CHICKEN is a compiler for the Scheme
programming language. CHICKEN produces portable and efficient C,
supports almost all of the
R5RS Scheme
language standard, and includes many enhancements and
extensions. CHICKEN runs on Linux, MacOS X, Windows, and many Unix
flavours.”
CHICKEN focus on practical applications of the Scheme programming
language. It joins the simplicity and correctness of the language with
the practical features required by real-world applications.
Most of the automated build infrastructure used for our embedded
products is written in CHICKEN. It is also used in some products like
O.S. Kiosk
and others. It does fit quite well the embedded world as it has a very
small footprint, offers a very good performance (the generated C code
can be compiled to native code) and a rapid-development environment
(besides the compiler, there are also other tools like an interpreter,
a profiler and an extension manager). Thus, CHICKEN help us a lot to
face the short deadlines and cost restrictions that projects using
embedded operating systems usually have.
To make its use easier for ourselves, we have been working hard to
properly integrate it onto
OpenEmbedded. This has involved a lot
of hardworking to properly understand all the details required to get
it cross-compile the compiler, interpreter and also a bunch of
available eggs (CHICKEN
extensions). We have reached a very nice milestone some weeks ago with
the public availability of our
Meta-CHICKEN layer. It
features CHICKEN 4.7.4 and provides a bunch of ready to use eggs that
goes from OpenSSL support to a web framework
(awful) completely written in
CHICKEN.
So far, the use of it is now quite easy. You just need to enable the
layer at your conf/bblayers.conf and it should work out of box.