# Library overview

Below is a list of all libraries that are pre-packaged with LispPad. The core libraries are also documented in the LispPad Library Reference manual.

## LispPad

- `(lisppad applescript)`
- `(lisppad draw map)`
- `(lisppad audio)`
- `(lisppad location)`
- `(lisppad log)`
- `(lisppad speech)`
- `(lisppad system macos)`
- `(lisppad turtle)`

## LispKit

- `(lispkit archive tar)`
- `(lispkit archive zip)`
- `(lispkit base)`
- `(lispkit bitset)`
- `(lispkit box)`
- `(lispkit bytevector)`
- `(lispkit char-set)`
- `(lispkit char)`
- `(lispkit clos)`
- `(lispkit combinator)`
- `(lispkit comparator)`
- `(lispkit control)`
- `(lispkit core)`
- `(lispkit crypto)`
- `(lispkit csv)`
- `(lispkit datatype)`
- `(lispkit date-time)`
- `(lispkit debug)`
- `(lispkit disjoint-set)`
- `(lispkit draw)`
- `(lispkit draw chart bar)`
- `(lispkit draw turtle)`
- `(lispkit dynamic)`
- `(lispkit enum)`
- `(lispkit format)`
- `(lispkit graph)`
- `(lispkit gvector)`
- `(lispkit hashtable)`
- `(lispkit heap)`
- `(lispkit iterate)`
- `(lispkit json)`
- `(lispkit list)`
- `(lispkit list set)`
- `(lispkit log)`
- `(lispkit logic)`
- `(lispkit markdown)`
- `(lispkit match)`
- `(lispkit math)`
- `(lispkit math matrix)`
- `(lispkit math stats)`
- `(lispkit math util)`
- `(lispkit object)`
- `(lispkit pdf)`
- `(lispkit port)`
- `(lispkit prettify)`
- `(lispkit prolog)`
- `(lispkit queue)`
- `(lispkit record)`
- `(lispkit regexp)`
- `(lispkit set)`
- `(lispkit sqlite)`
- `(lispkit stack)`
- `(lispkit stream)`
- `(lispkit string)`
- `(lispkit styled-text)`
- `(lispkit sxml)`
- `(lispkit sxml html)`
- `(lispkit sxml xml)`
- `(lispkit system)`
- `(lispkit system call)`
- `(lispkit test)`
- `(lispkit text-table)`
- `(lispkit thread)`
- `(lispkit thread channel)`
- `(lispkit type)`
- `(lispkit vector)`
- `(lispkit wt-tree)`

## Scheme

### R7RS small

- `(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)`

### R7RS large

- `(scheme bitwise)`
- `(scheme box)`
- `(scheme charset)`
- `(scheme comparator)`
- `(scheme division)`
- `(scheme fixnum)`
- `(scheme flonum)`
- `(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)`

## SRFI

The following SRFI libraries are available in LispPad natively. Others can be install manually, typically with very little effort to port the implementation.

- `(srfi 1)` List Library
- `(srfi 2)` AND-LET* - an AND with local bindings, a guarded LET* special form
- `(srfi 6)` Basic String Ports
- `(srfi 8)` receive - Binding to multiple values
- `(srfi 9)` Defining Record Types
- `(srfi 11)` Syntax for receiving multiple values
- `(srfi 14)` Character-set library
- `(srfi 16)` Syntax for procedures of variable arity
- `(srfi 17)` Generalized set!
- `(srfi 18)` Multithreading support
- `(srfi 19)` Time Data Types and Procedures
- `(srfi 23)` Error reporting mechanism
- `(srfi 26)` Notation for Specializing Parameters without Currying
- `(srfi 27)` Sources of Random Bits
- `(srfi 28)` Basic Format Strings
- `(srfi 31)` A special form rec for recursive evaluation
- `(srfi 33)` Integer Bitwise-operation Library
- `(srfi 34)` Exception Handling for Programs
- `(srfi 35)` Conditions
- `(srfi 39)` Parameter objects
- `(srfi 41)` Streams
- `(srfi 46)` Basic Syntax-Rules Extensions
- `(srfi 48)` Intermediate Format Strings
- `(srfi 51)` Handling rest list
- `(srfi 54)` Formatting
- `(srfi 55)` `require-extension`
- `(srfi 63)` Homogeneous and Heterogeneous Arrays
- `(srfi 64)` A Scheme API for test suites
- `(srfi 69)` Basic hash tables
- `(srfi 87)` `=>` in case clauses
- `(srfi 95)` Sorting and Merging
- `(srfi 98)` An interface to access environment variables
- `(srfi 101)` Purely Functional Random-Access Pairs and Lists
- `(srfi 102)` Procedure Arity Inspection
- `(srfi 111)` Boxes
- `(srfi 112)` Environment inquiry
- `(srfi 113)` Sets and bags
- `(srfi 118)` Simple adjustable-size strings
- `(srfi 121)` Generators
- `(srfi 125)` Intermediate hash tables
- `(srfi 128)` Comparators
- `(srfi 129)` Titlecase procedures
- `(srfi 132)` Sort Libraries
- `(srfi 133)` Vector Library
- `(srfi 134)` Immutable Deques
- `(srfi 135)` Immutable Texts
- `(srfi 137)` Minimal Unique Types
- `(srfi 141)` Integer division
- `(srfi 142)` Bitwise Operations
- `(srfi 143)` Fixnums
- `(srfi 144)` Flonums
- `(srfi 145)` Assumptions
- `(srfi 146)` Mappings
- `(srfi 149)` Basic syntax-rules Template Extensions
- `(srfi 151)` Bitwise Operations
- `(srfi 152)` String Library
- `(srfi 154)` First-class dynamic extents
- `(srfi 155)` Promises
- `(srfi 158)` Generators and Accumulators
- `(srfi 161)` Unifiable Boxes
- `(srfi 162)` Comparators sublibrary
- `(srfi 165)` The Environment Monad
- `(srfi 166)` Monadic Formatting
- `(srfi 167)` Ordered Key Value Store
- `(srfi 173)` Hooks
- `(srfi 174)` POSIX Timespecs
- `(srfi 175)` ASCII Character Library
- `(srfi 177)` Portable keyword arguments
- `(srfi 180)` JSON
- `(srfi 189)` Maybe and Either: optional container types
- `(srfi 194)` Random data generators
- `(srfi 195)` Multiple-value boxes
- `(srfi 196)` Range Objects
- `(srfi 204)` Wright-Cartwright-Shinn Pattern Matcher
- `(srfi 208)` NaN procedures
- `(srfi 209)` Enums and Enum Sets
- `(srfi 210)` Procedures and Syntax for Multiple Values
- `(srfi 214)` Flexvectors
- `(srfi 215)` Central Log Exchange
- `(srfi 216)` SICP Prerequisites
- `(srfi 217)` Integer sets
- `(srfi 219)` Define higher-order lambda
- `(srfi 221)` Generator/accumulator sub-library
- `(srfi 222)` Compound Objects
- `(srfi 223)` Generalized binary search procedures
- `(srfi 224)` Integer mappings
- `(srfi 227)` Optional Arguments
- `(srfi 228)` Composing Comparators
- `(srfi 229)` Tagged procedures
- `(srfi 230)` Atomic Operations
- `(srfi 232)` Flexible curried procedures
- `(srfi 233)` INI files
- `(srfi 236)` Evaluating expressions in an unspecified order

## Third-party

- `(third-party adapton mini)`