Programming language supported by LispPad
LispPad is an IDE for the programming language Scheme. The Scheme dialect supported by LispPad is based on the R7RS (small) standard. The following features are available:
- Hygienic macros based on the syntax-rules standard
- First-class environments
- Dynamically-scoped paramaters
- 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
- SRFI 18-compliant multi-threading
- Datum comments introduced via
#;do not always work as expected.
LispPad supports all standard R7RS (small) libraries:
Most of the R7RS (large) libraries from the "Red" and "Tangerine" edition are supported as well:
LispPad comes with several LispPad-specific libraries. They provide a native integration of drawings defined via
(lispkit draw turtle), a means to script the application, an API to do geocoding, speech synthesis, etc. There is also a LispPad-specific logging library extending the LispKit logging library for usage within the IDE.
The source code of the Scheme interpreter and the included libraries has been open-sourced and published at GitHub. Example code and the Scheme sources of the included libraries can be found here.
It is also possible to access the source code from within LispPad. On macOS, pressing option while opening the File menu will reveal a menu item "Open LispKit…" which provides access to the LispKit source code bundled with LispPad. Similarly, pressing control while opening the File menu will reveal a menu item "Open LispPad..." for accessing the LispPad-specific code, e.g like the LispPad prelude.