Language features
LispPad is an application for developing and running Scheme code. The programming language supported by LispPad is called LispKit. LispKit implements the following features, many of which are based on R7RS (small):
- Modules based on R7RS 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 (small) libraries:
(scheme base)
,(scheme case-lambda)
,(scheme char)
,(scheme complex)
,(scheme cxr)
,(scheme eval)
,(scheme file)
,(scheme inexact)
,(scheme lazy)
,(scheme load)
,(scheme process-context)
,(scheme read)
,(scheme repl)
,(scheme time)
,(scheme write)
,(scheme r5rs)
- Some R7RS (large) libraries from Scheme Red and Scheme Tangerine editions:
(scheme bitwise)
,(scheme box)
,(scheme charset)
,(scheme comparator)
,(scheme division)
,(scheme fixnum)
,(scheme generator)
,(scheme hash-table)
,(scheme ideque)
,(scheme list)
,(scheme mapping)
,(scheme red)
,(scheme rlist)
,(scheme set)
,(scheme sort)
,(scheme stream)
,(scheme text)
,(scheme vector)
- LispKit-specific libraries:
(lispkit base)
,(lispkit core)
,(lispkit control)
,(lispkit system)
,(lispkit system os)
,(lispkit box)
,(lispkit math)
,(lispkit list)
,(lispkit hashtable)
,(lispkit dynamic)
,(lispkit type)
,(lispkit vector)
,(lispkit gvector)
,(lispkit record)
,(lispkit bytevector)
,(lispkit char)
,(lispkit char-set)
,(lispkit string)
,(lispkit regexp)
,(lispkit port)
,(lispkit date-time)
,(lispkit draw)
,(lispkit draw turtle)
,(lispkit datatype)
,(lispkit object)
,(lispkit enum)
,(lispkit stream)
,(lispkit iterate)
,(lispkit comparator)
,(lispkit set)
,(lispkit stack)
,(lispkit queue)
,(lispkit heap)
,(lispkit disjoint-set)
,(lispkit wt-tree)
,(lispkit combinator)
,(lispkit match)
,(lispkit logic)
,(lispkit prolog)
,(lispkit clos)
,(lispkit sqlite)
,(lispkit markdown)
,(lispkit json)
,(lispkit csv)
,(lispkit sxml)
,(lispkit sxml html)
,(lispkit sxml xml)
,(lispkit graph)
,(lispkit log)
,(lispkit test)
,(lispkit debug)
,(lispkit archive zip)
,(lispkit pdf)
,(lispkit text-table)
, and(lispkit prettify)
. - LispPad-specific libraries:
(lisppad system)
,(lisppad turtle)
,(lisppad applescript)
,(lisppad speech)
,(lisppad location)
,(lisppad audio)
, and(lisppad log)
.
- LispKit-specific libraries: