App: LispPad
Developer: Matthias Zenger
Genres: Developer Tools, Education

LispPad is a simple, lightweight, integrated development environment for developing and running Scheme code on macOS and iOS. 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, text completion, 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
• Threads
• 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. LispPad is able to sync code with LispPad Go on iOS via iCloud.

Release notes:
Bug fixes:
• Improved R7RS regression tests
• Bugfixes in library (lispkit bytevector) for procedures bytevector-copy and bytevector-copy!

New features:
• Revamp of library (lispkit graph) with new procedures: graph-topological-sort, graph-graph-weakly-connected-components, graph-strongly-connected-components, and graph-shortest-paths
• New libraries: (srfi 228), (srfi 233), and (srfi 236)
• New documentation for library (lispkit graph)