[Practical Scheme]

Practical Scheme

-> Japanese page

This page is a collection of libraries and extensions to use Scheme as a production tool. By "production tools" I mean the tools to process daily chores for systems engineers and programmers---parsing files, generate reports, watching processes, providing small GUI wrappers, and all sorts of those things. Currently I'm using Perl for those purpose, but I'm always longing to use Scheme for them. So I started this page.

Most stuffs in this site are done as my private project at home, except the ones explicitly stated otherwise. I upload libraries even in its alpha/beta stage, since I'd like to test and use them at work, too. In a way, my primary interest is to make my life happier. No warranty comes with them, as usual, but it'll be nice if somebody else finds they are useful.

If you can read Japanese, visit the Japanese page which contains some translations of Lisp/Scheme related articles.

I wrote a Wiki Clone in Scheme (Gauche). Come and try it: WiLiKi.


Applications and tools

Scheme-related stand alone programs.

Gauche - Current version 0.9.15 (2024/04/24)*New

An R7RS Scheme implementation aimed at a handy script engine. Quick startup, built-in system interface, and native multilingual support are some of the goals.

WiLiKi - Current version 0.6.2 (2014/11/28)

A wiki engine written in Scheme.

Chaton - Current version

A Comet-based Webchat system.

escm - Current version 1.1 (2014/11/28)

A filter program which copies the input text to output, with processing embedded Scheme expressions. This program itself is independent from any Scheme implementation; you can use your favorite one. Useful to process text files with a bit of dynamic parts. This page itself is processed by escm to embed information such as the update time of libraries, and synchronize with Japanese version. A complete new version of escm, named aescm, is being developed by TAGA Yoshitaka ( http://sourceforge.net/projects/escm/)


Libraries and Extensions

The following libraries and extensions are written for Gauche. See here for libraries written for STk.

Gauche-gl - Download  Document  Current version 0.6 (2014/08/09) 

OpenGL binding for Gauche. Supports most of OpenGL 1.0 to 4.1 APIs (including OpenGL Shading Language API), and some of GLU and GLUT API. Requires Gauche 0.9.4 or later.

Gauche-gtk2 - Download  Document  Current version 0.6.1 (2022/3/20) 

GTK2 binding for Gauche.



Scheme Cross Reference

A cross reference of library procedures of various Scheme implementations. Updated constantly.

Shooting A Moving Target--- An Experience In Developing A Production Tracking Database

An application of CommonLisp in practice. (yeah, it's not Scheme... anyway, I put it here).

Tracking Assets in the Production of 'Final Fantasy : The Spirits Within'

A follow-up of the article above, a kind of post-mortem of the production.

Gluing Things Together - Scheme in the Real-time CG Content Production

A paper presented at International Lisp Conference 2002 at San Francisco, October 2002. (there's also a pdf version).

Efficient floating-point number handling for dynamically typed scripting languages (pdf)

A paper presented at Dynamic Language Symposium 2008.

Schemer's Way

Trying to explain Scheme's merits to non-Scheme programmers.


Other Resources

This list no way covers everything, but you can follow links in those links.

A good anchor point to collect information of Scheme. You can get R*RS, the language standard. The site is also a center of SRFI's--- Scheme Request For Implementation---which provides common interface of libraries across various implementations.
A compact, fast and portable implementation of Scheme interpreter.
A large collection of portable Scheme libraries. The contents spans from small utilities complements the standard conformance, to the full-featured relational database.
Programming Languages by Dai Inukai
Scheme-related documents by Dai Inukai, the author of "Nyuumon Scheme (Scheme Primer)" in Japan. Check this out if you're interested in processing Japanese in Scheme.
A scheme system with compiler and integrated development environment. If you're planning to write an enterprise software rather than just a bunch of scripts, look at it.
GNU adopted Scheme for the base of extension language several years ago. The effort became Guile. If you have one of popular Linux distributions, you may already have it.
I haven't used this one much, but looks good if you're looking for a tool to do syste programming.
The Internet Scheme Repository
As the name suggests.
Kawa - the Java-based Scheme System
A Scheme environment written in Java by Per Bothner. Scheme code is compiled to Java bytecode, hence has the property "write once run everywhere".