SICP-guile - SICP in Guile & Emacs Lisp

  •        6

SICP has been a great classic of computer science for more than two decades and is likely to remain so for many more. Its reputation has grown throughout the 90s and continued to do so ‘posthumously’: the 6.001 course (which SICP served as the textbook of) is now a Python oriented course to accommodate shifting computing trends. SICP’s broad strokes remain as vibrant as the day it was written however. The real soul of this book is in its exercises: a powerful graphics language, a computer algebra system, a Scheme and “JIT” evaluator, a Prolog-like langauge and more. This expansive coverage of so many topics of computing spawned a long tradition of hackers studying it and writing solutions to its exercises. An exhaustive reading of the book was unlikely for its target audience. SICP contains statements and source code that are redundant or ambiguous. Asking readers to consider code and structures whose details are described in principle, only later introducing their implementation. This pedagogical approach is maybe more sensible in the lecture hall, but is inefficient for the enthusiast.



Related Projects

Guile PostgreSQL Module

  •    C

Guile-pg is a Guile module providing access and allowing updates to PostgreSQL databases from Guile scripts. Guile is the GNU interpreter for the Scheme language and PostgreSQL is a free relational database management system.

sicp - 📖 SICP 读书笔记,习题解答

  •    Scheme

📖 SICP 读书笔记,习题解答

mu - maildir indexer/searcher + emacs mail client + guile bindings

  •    C

maildir indexer/searcher + emacs mail client + guile bindings

Guile Simple SQL

  •    C

A simple interface to SQL databases (currently MySQL and PostgreSQL) from Guile.

SICP-answers - ?? SICP ???


?? SICP ???

sicp-py-zh - :book:【译】UCB CS61a SICP Python

  •    CSS

:book:【译】UCB CS61a SICP Python

sicp - Structure and Interpretation of Computer Programs, Second Edition

  •    TeX

This is the seminal Structure and Interpretation of Computer Programs, Second Edition (SICP), converted to ePub format. The HTML version used low-resolution GIFs to represent complex layouts and non-ASCII characters. Wherever possible, I have replaced these with Unicode and HTML. There are still many diagrams and figures left, though. If you’d like to contribute, redrawing those in SVG would be an immense help.

sicp - HTML5/EPUB3 version of SICP

  •    HTML

This is a new HTML5 and EPUB3 version of "Structure and Interpretation of Computer Programs" by Abelson, Sussman, and Sussman. It comes from the lineage of Unofficial Texinfo Format that was converted from the original HTML version at The MIT Press. Modern solutions such as scalable vector graphics, mathematical markup with MathML and MathJax, embedded web fonts, and syntax highlighting are used. Rudimentary scaffolding for responsive design is in place, which adapts the page for viewing on pocket devices and tablets. More tests on small screens are needed to adjust the font size and formatting, so I encourage feedback from smartphone and tablet owners.

sicp-pdf - SICP PDF with Texinfo and LaTeX source

  •    Perl

This is a PDF version of "Structure and Interpretation of Computer Programs" by Harold Abelson, Gerald Jay Sussman, and Julie Sussman. It is a further development of the Unofficial Texinfo Format (UTF), which was originally derived from the HTML version at The MIT Press. Biggest change in this revision (2.andresraba5) is the conversion to LaTeX, which opens the door to design and customization possibilities that the massive CTAN archive enables. Also, the latest typesetting engine XeTeX can be used, along with the Unicode and OpenType goodness it brings.

qtour (tournament processing)

  •    C++

qtour is a Qt-based application for interpreting results of sporting tournaments. It uses the libtour C++/Guile library as its processing engine.


  •    C++

forty-two is a clone of the 1943 game written in C++. It is intended to provide a clean codebase for simple 2D shoot-em-up games using the SDL. Customization can be done by plugging in custom graphics, data files and scheme (guile) AI scripts.

Encyclopedia of Integer Sequences Seeker

  •    C

A Scheme (guile) interface to a local version of the Encyclopedia of integer Sequences with many features for complex queries. URL of the encyclopedia (where the database can be downloaded from) is:


  •    C

dhcp-agent is a UNIX Dynamic Host Configuration Protocol (DHCP) suite that is extendable via Scheme using Guile. The suite currently ships with a beta quality DHCP client and sniffer.



Guile bindings for libalsaplayer, and a command line alsaplayer controller based on these bindings.


  •    C++

WHISPER is a modular software that handles either local or remote data streams. For now, it comes with a VoIP application, using two core libraries. Recents developments (WHISPER+) intend to provide a interface to Guile and a GUI.


  •    C

guile binding for expat library.


  •    C

A code generator for connecting C/C++ with other programming languages


  •    C

Scwm is the Scheme Configurable/Constraints Window Manager, a window manager with a powerful dynamic configuration language based on Guile Scheme. Scwm has many, many advanced features, often implemented in the configuration language itself.



HScheme is a Scheme interpreter written in Haskell, available as both interactive interpreter and extension library for other Haskell projects. Think 'Guile for Haskell'.