github.com/egallesio/STklos

STklos Scheme

Open this visualization on its own page →

Contributors

8

Lines of Code

10,276

From

2006-01-03

To

2021-02-15

About egallesio/STklos

STklos is a free Scheme interpreter implementation written in C that aims to be both fast and lightweight. It is largely compliant with the R7RS small standard and uses a virtual machine that compiles Scheme code to bytecode rather than interpreting it directly. The project is the successor to STk, an earlier Scheme interpreter tied to the Tk toolkit, and represents a complete reimplementation with improved performance and modern architecture.

The system features a sophisticated object-oriented programming system based on CLOS (Common Lisp Object System), including multiple inheritance, generic functions, and multi-methods with an efficient Meta Object Protocol. Additional capabilities include R7RS library support, a complete numerical tower, a foreign function interface for C integration, native threading via POSIX threads, tail call optimization, Unicode support, and compatibility with Perl-compatible regular expressions through PCRE. The implementation also provides bindings to the GTK+ toolkit for graphical applications and supports over 130 Scheme Requests for Implementation (SRFIs).

STklos is primarily maintained for GNU/Linux, macOS, and Windows (via WSL), with documentation on legacy ports to various other architectures. The project provides integration with Emacs through the Geiser IDE and maintains a straightforward module system alongside its object-oriented features. The development continues actively, with recent versions introducing R7RS conformance, expanded SRFI support, enhanced REPL functionality, and new extensions like cURL library bindings.

Share this video