An introduction to scheme by Ken Dickey
This reference manual documents Guile, GNU's Ubiquitous Intelligent Language for Extensions. It describes how to use Guile in many useful and interesting ways.
This Info file contains edition 1.0 of the reference manual, corresponding to Guile version 1.6.2.
Shriram Khrishnamurthi's presentation on the beauty of Scheme and functional programming languages. This presentation was what sold me on Scheme and Functional Programming. You have to watch it. This is probably my favorite presentation of all time!
Marc showed us how to write a simple Scheme to C compiler, in Scheme. In only 90 minutes! And although not supporting the whole Scheme standard, the compiler supports fully optimized proper tail calls, continuations, and (of course) full closures. The compiler is implemented using two important compilation techniques for functional languages: closure conversion and CPS-conversion.
In this workshop we will present and develop a native-code compiler for the core of Scheme using source-to-source transformations that is suitable for use as the basis for a course in compiler design.
This group is for posting and discussing solutions to exercises from SICP
Metaprogramming -- programming with code generators or writing programs that themselves write code -- has numerous useful attributes, such as simplifying code maintenance and making it easier to craft boilerplate code. The first article of this series explained why metaprogramming is necessary, looked at some of the components of metaprogramming, showed how to build a code generator, and introduced language-sensitive macro programming.
One of the most under-used programming techniques is writing programs that generate programs or program parts. Learn why metaprogramming is necessary and look at some of the components of metaprogramming (textual macro languages, specialized code generators). See how to build a code generator and get a closer look at language-sensitive macro programming in Scheme
Jim Larson
1996-07-26
This talk was given at the JPL Section 312 Programming Lunchtime Seminar.