LispPad is a simple, lightweight, integrated development environment for developing and running Scheme code. The language supported by LispPad is based on the R7RS standard of the Scheme programming language. LispPad provides the following components:

• A fully integrated Scheme interpreter
• A console with a read-eval-print loop to interact with the interpreter
• A text editor for writing Scheme code, supporting syntax highlighting, smart indentation, parenthesis matching, page guides, etc.

The Scheme dialect supported by LispPad provides the following features:

• R7RS-compliant libraries
• Hygienic macros based on syntax-rules
• First-class environments
• call/cc, dynamic-wind and exceptions
• Dynamically-scoped parameters
• Multiple return values
• Delayed execution via promises and streams
• Support for the full numerical tower consisting of arbitrary size integers, rationals, real numbers, and inexact complex numbers.
• Unicode strings and characters
• Vectors and bytevectors
• Text and binary ports
• R7RS-compliant records
• R6RS-compliant hashtables
• R6RS-compliant enumerations
• All R7RS libraries

LispPad focuses on simplicity and ease of use. A number of standard Scheme libraries are built into LispPad to facilitate porting existing Scheme code.

What's New

Version 1.2.0

New features:
• The menu showing currently opened windows groups the windows by type
• LispPad is now able to create, open and edit `.txt` and `.md` text documents
• The new (lispkit draw) library provides a powerful API for creating drawings and saving them as PDF documents or image files
• The new (lisppad app) library allows users to script LispPad directly using Scheme
• LispPad now supports graphics windows to display drawings created with (lispkit draw)
• New SRFI libraries: SRFI 111, SRFI 112, SRFI 113
• New example code showcases the new drawing and scripting features

Bug fixes:
• There is now a HelpBook available within LispPad
• Printing of all documents now works correctly
• Bugs in SRFI 69 are fixed
• Continuations are now correctly tagged and continuation? works as documented
• Multiple libraries can now be imported with one import invocation, as required by R7RS
• current-input-port, current-output-port, and current-error-port have been turned into parameter objects, as required by R7RS
• Library (lispkit test) was extended to be more compatible with similar libraries


Matthias Zenger
18.4 MB
Developer Tools
Age Rating
Rated 4+
© 2017–2018 Matthias Zenger


  • Family Sharing

    Up to six family members will be able to use this app with Family Sharing enabled.