This site is a companion to the influential computer-science text Structure and Interpretation of Computer Programs, by Abelson, Sussman, and Sussman. Its purpose is to demonstrate the Web's potential to be a channel for innovative support for textbook users.
Janet is a functional and imperative programming language and bytecode interpreter. It is a modern lisp, but lists are replaced by other data structures with better utility and performance (arrays, tables, structs, tuples). The language also supports bridging to native code written in C, meta-programming with macros, and bytecode assembly.
A Lisp Operating System (LispOS for short) is not just another operating system that happens to be written in Lisp (although that would be a good thing in itself). For the purpose of this document, a LispOS is also an operating system that uses the Lisp interactive environment as an inspiration for the interface between the user and the system, and between applications and the system.
Carp is a small programming language designed to work well for interactive and performance sensitive use cases like games, sound synthesis and visualizations.
Building Native UI Toolkit Part 1
Next Webbrowser with Keyboard Control and a Lisp Interface
In contrast to the impression that Quick: An Introduction to Racket with Pictures may give, Racket is not just another pretty face. Underneath the graphical facade of DrRacket lies a sophisticated toolbox for managing threads and processes, which is the subject of this tutorial.
A LISP in the spirit of Black and other colors.
Black is an extension of Scheme with a reflective construct exec-at-metalevel. It executes its argument at the metalevel where the interpreter that executes user programs is running. There, one can observe, access, and even modify the metalevel interpreter in any way. Because the metalevel interpreter determines the operational semantics of the language, Black effectively allows us to observe, access, and modify the language semantics from within the same language framework.
Replicated state machines are employed in a wide variety of applications requiring distributed coordination. Because RSMs must always adhere to particular semantic conditions, foremost determinism, rather than reprogram their semantics in every new instance, we propose a language, Radicle, which substantially simplifies the process of defining such state machines. As Radicle may be made into any RSM via eval-redefinition, it can be considered a universal replicated state machine. This mechanism also allows changing the semantics of running state machines without loss of state, and with the same consensus guarantees as provided by the underlying consensus system
Scheme 9 from Empty Space, Reimagined. S9fES is a mature, portable, and comprehensible interpreter for R4RS Scheme. The core interpreter is written in pure ANSI C (C89), so it runs on all platforms offering a C compiler. It can even be compiled natively on Plan 9. On Unix-based systems (or MinGW), it also offers an interface to common Unix system calls and Curses routines.
This is the keynote talk that I gave at the 2108 European Lisp Symposium in Marbella, Spain. Abstract: Lisp was invented 60 years ago. Coral Common Lisp, the ancestor of today's Clozure Common Lisp, was released over 30 years ago.
A micro-subset of scheme / the original LISP in a single C file: komplott.c
Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) and Plan 9 (everything is a file system). It boots to a JITting Lisp-like REPL and offers the programmer/user the system's resources as filesystems.
My Lisp Experiences and the Development of GNU Emacs
Hyperpolyglot. Programming Languages commonly used features in a side-by-side format Lisp: Common Lisp, Racket, Clojure, Emacs Lisp ca side-by-side reference sheet
is a #framework
for building #Lisp
-based extension and scripting languages for #macOS
applications. LispKit is fully written in the programming language #Swift
. LispKit implements a core language based on the #R7RS
(small) Scheme standard. It is extensible, allowing the inclusion of new native libraries written in Swift, of new libraries written in Scheme, as well as custom modifications of the core environment consisting of a compiler, a virtual machine as well as the core libraries.