🖥️LispPad
Last updated
Last updated
The latest version of LispPad for macOS can always be found on the Mac App Store. Below is a history of all releases, including links to the corresponding notarized versions of the binaries.
Date: 2024-11-24 Download: LispPad 2.1 (1699)
Bug fixes:
Fixed equivalence procedures for bitsets
New features:
Support for all major JSON standards with libraries (lispkit json)
and (lispkit json schema)
Support for HTTP-based networking with libraries (lispkit http)
, (lispkit http oauth)
, and (lispkit http server)
Deeper integrations into macOS via libraries (lispkit system keychain)
and (lispkit system pasteboard)
New concurrency features with support for atomic boxes with library (lispkit box)
, thread-safe shared queues with library (lispkit thread shared-queue)
, and futures with (lispkit thread future)
.
Support for drawing a variety of barcodes with library (lispkit draw barcode)
New libraries: (lispkit url)
, (lispkit serialize)
Extended libraries: (lispkit thread)
, (lispkit system)
, (lispkit bytevector)
, (lispkit markdown)
, (lispkit dynamic)
, and (lispkit control)
New sample code: OAuthDemo.scm
, Keychain.scm
, WebAPIs.scm
, and Webserver.scm
Date: 2024-02-29 Download: LispPad 2.0.1 (1633)
Bug fixes:
Fix saving the content of graphics windows
New features:
Provide line-based editing features (delete and duplicate lines)
Support selection of lines
Support duplication of selected text
Implement smarter parenthesis matching
Date: 2024-02-09 Download: LispPad 2.0 (1575)
Bug fixes:
Enforce that imported (immutable) definitions cannot be mutated, unless it's in the read-eval-print loop; export-mutable
in library definitions enable mutability
Improved display of OS-level exceptions and errors in read-eval-print loop
Bug fixes in window management API provided by (lisppad system macos)
New features:
Revamp of graphics windows with support for a toolbar, zoom, export of drawings, and editing of window properties
Ported universal formatting facility from Common Lisp and made it available via library (lispkit format)
Support customization of read-eval-print-loop result formatting
Library (lispkit records)
now supports extensible records compatible with SRFI 131
Procedure type-of
of library (lispkit type)
now returns a list of type tags (from most specific to least specific type)
New library (lisppad turtle)
supporting indicators for turtles
Support for currencies included in library (lispkit system)
Renamed library (lisppad system)
to (lisppad system macos)
Renamed library (lispkit system os)
to (lispkit system call)
Extended libraries: (lispkit system)
, (lispkit port)
, (lispkit bitset)
, (lispkit system)
, (lispkit draw)
, (lispkit draw turtle)
, (lispkit core)
, (lispkit type)
, (lispkit bytevector)
, and (lisppad location)
New libraries: (lisppad turtle)
, (lispkit format)
, (lispkit crypto)
, (lispkit archive tar)
, (lispkit list set)
, (srfi 239)
, and (srfi 235)
New sample code: Blockchain.scm
Date: 2023-02-12 Download: LispPad 1.7.3 (1400)
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)
Date: 2022-12-22 Download: LispPad 1.7.2 (1395)
Bug fixes:
Fixed bug leading to deadlocks when using text ports
Fixed bug allowing to execute empty lists
Fixed serious bug leading to an infinite loop when iterating through stack traces
New features:
New menu item "Show in Finder" to show the current document in the Finder
Display memory footprint in session inspector
Show call stack when errors are shown in sessions
Limit stack size to prevent application crashes
New settings for defining the maximum stack size and the maximum number of active calls to trace upon errors
New procedure in library (lispkit thread)
: thread-max-stack
Included new libraries: (lisppad draw map)
New sample code: DisplayMap.scm
Date: 2022-08-14 Download: LispPad 1.7.1 (1361)
Bug fixes:
Bug fixes to indentation with spaces and semicolons
Bug fixes in library (lispkit draw chart bar)
and (lispkit enum)
Fixed division by zero issues with truncate and floor procedures
Fixed bug preventing LispKit to correctly determine the maximum number of threads
Optimized display of objects of custom types
Removed duplicates in results of procedures available-fonts
and available-font-families
in library (lispkit draw)
Changed defaults for procedure string-insert!
of library (lispkit string)
Made procedure open-file
of library (lispkit system)
work on iOS
New features:
Performance improvements: Optimized code generation for lambdas without captured expressions
Major revamp of all type-related functionality: each type is now represented by a type tag/symbol; procedure type-for
from library (lispkit type)
can be used to determine the type tag of a given object; breaking change for make-type
, which now returns 5 values (the first is a new type tag)
Major revision of library (lispkit clos)
Support complex numbers for trigonometric and inverse trigonometric functions in library (lispkit math)
: sin
, cos
, tan
, asin
, acos
, and atan
Reimplemented and extended library (lispkit enum)
making it compatible with SRFI 209
New procedures in library (lispkit draw)
: bytevector->image
, draw-styled-text
, styled-text-size
New procedure in library (lispkit core)
: procedure-rename
Included new libraries: (lispkit math matrix)
, (lispkit bitset)
, (lispkit styled-text)
, (lispkit draw chart bar)
, (srfi 118)
, (srfi 141)
, (srfi 149)
, and (srfi 232)
New sample code: ObjectOrientation.scm
, DrawBarCharts.scm
, and StyledTextDoc.scm
Date: 2022-02-19 Download: LispPad 1.7.0 (1344)
Bug fixes:
Fixed several bugs in math libraries:
Prevent crash on division by zero for fx/
Make exact
also work for negative numbers
Improve inexact
when used with rationals with a very large numerator or denominator
Fixed scope of <sym>
in (let <sym> ...)
form, making it not accessible in the bindings
New features:
Allow preserving window setup when LispPad quits even if the setting "Close windows when quitting an app" is enabled.
Multi-threaded evaluator, executing multiple virtual machines in parallel
Go-inspired channels for synchronizing threads
Revamp of math libraries, addressing incompatibilities and fixing numerous bugs:
Introduce consistent interface for: random
, flrandom
, and fxrandom
Support unary arguments for fx-
, fl-
, and fl/
Remove fixnum-width
, least-fixnum
and greatest-fixnum
New procedures make-flonum
, flexponent
, flsignificand
, flnext
, flprev
, fx-width
, fx-greatest
, fx-least
, fl-epsilon
, fl-greatest
, and fl-least
Support for many arguments for procedures flmin
, flmax
, fxmin
, fxmax
, fx+
, fx-
, fx*
, fx/
, fx=
, fx<
, fx>
, fx<=
, fx>=
, fl+
, fl-
, fl*
, fl/
, fl=
, fl<
, fl>
, fl<=
, and fl>=
New procedures in library (lispkit math util)
: make-nan
, nan-negative?
, nan-quiet?
, nan-payload
, and nan=?
New procedures in library (lispkit system)
: physical-memory
, memory-footprint
, and system-uptime
New procedure in library (lispkit port)
: display*
New procedures in library (lispkit debug)
: stack-size
, call-stack-procedures
, call-stack-trace
, and set-max-call-stack!
Enabled concurrency support for library (srfi sicp)
Included new libraries: (lispkit thread)
, (lispkit thread channel)
, (scheme flonum)
, (srfi 18)
, (srfi 144)
, (srfi 208)
, (srfi 230)
Exceptions now include more information about the active call stack
Include tutorial for channels as new example code
Date: 2021-12-17 Download: LispPad 1.6.3 (1329)
Bug fixes:
Increased stack size of interpreter
Fixed file/editor loader
Fixed bug compiling every procedure twice
Fixed implementation of procedure expt
Fixed overflow issues in procedure approximate
Fixed crashes in the rounding functions when used with rational big integers
Moved procedure load
into library (lispkit core)
New features:
Integrated simple bytecode optimizer
Implemented support for tagged procedures
Implemented support for procedures with optional arguments
Included new libraries: (lispkit math util)
, (lispkit math stats)
, (srfi 166)
, (srfi 227)
, and (srfi 229)
Included new documentation for libraries (lispkit prolog)
, (lispkit math stats)
, (lispkit math util)
, (srfi 166)
, (srfi 227)
, and (srfi 229)
Ported Peter Norvig's pattern matcher and algebraic simplifier from Common Lisp to Scheme and included it as new example code
Extended sample code Math.scm
Updated PDF library reference manual
Date: 2021-10-10 Download: LispPad 1.6.2 (1300)
Bug fixes:
Fixed bug in logic to detect valid local definitions
Handle libraries with errors more carefully to prevent crashes
Fixed bit counting bug in library (srfi 143)
and expt
in (lispkit math)
New features:
Include all libraries in the library inspector, including libraries that are not loaded
Support filtering in the libraries inspector
New procedures in library (lispkit core)
: thunk?
, procedure-of-arity?
, procedure-name
, procedure-arity
, procedure-arity-range
, procedure-arity-includes?
, arity-at-least?
, arity-at-least-value
Added procedure icloud-directory
to library (lisppad system)
Included new libraries: (srfi sicp)
, (srfi 102)
, (srfi 217)
, (srfi 224)
Included new documentation for library (lispkit text-table)
New sample code: Simplifier.scm
; extended sample code Math.scm
Date: 2021-08-21 Download: LispPad 1.6.1 (1241)
Bug fixes:
Fixed behavior of "Play" button in editor windows, now setting the source directory correctly
Bug fixes in library (lispkit system)
: home-directory
also supports a non-sandboxed mode, file-path
handles tilde correctly
Bug fixes for a few procedures of library (lispkit archive zip)
Bug fix in procedure load
(previously, load
always returned no result instead of the result of the last executed expression)
New features:
New procedures in library (lispkit draw)
: bitmap->bytevector
, bitmap-blur
, bitmap-crop
Support tables and definition lists in library (lispkit markdown)
Support gzip and zlib container formats for deflate compression via library (lispkit bytevector)
Support symlink resolution via procedure file-path
of library (lispkit system)
Included new libraries: (lisppad location)
, (lispkit text-table)
, (srfi 215)
, (srfi 216)
, (srfi 219)
, (srfi 221)
, (srfi 222)
, (srfi 223)
Included new sample code EUStats.scm
; extended sample code Math.scm
Minor update of the LispPad and LispKit library documentation
Date: 2021-05-28 Download: LispPad 1.6.0 (1226)
Bug fixes:
Allow let*
and letrec*
to redefine variables
Minor bug fixes in LispKit libraries
New features:
Execute LispPad code on iOS with LispPad Go
Sync LispPad code via iCloud and use it with LispPad Go on iPhones and iPads
Show Markdown document structure in editor windows
Associate descriptions and help text with definitions (in Common Lisp style)
New libraries: (lisppad audio)
, (lispkit archive zip)
, (lispkit prolog)
, (srfi 143)
, (srfi 189)
, (srfi 214)
, (srfi 219)
, (scheme red)
, (scheme fixum)
, (scheme bitwise)
, (scheme division)
Extended library (lispkit string)
with procedures string-decode-named-chars
and string-encode-named-chars
Extended library (lispkit char)
with procedure char-name
Extended library (lispkit core)
with new environment procedures: interaction-environment?
, custom-environment?
, the-environment
, environment-definable?
, environment-define
, environment-define-syntax
, environment-import
, environment-documentation
, and environment-assign-documentation!
Extended library (lispkit sqlite)
with procedures sqlite-database?
and sqlite-statement?
Support custom environments for the compile
procedure of (lispkit debug)
New sample code: PlayMusic.scm
, ObliqueProjection.scm
, VisualizePointSets.scm
, Schelog.scm
Date: 2020-12-26 Download: LispPad 1.5.2 (1200)
Bug fixes:
Fixed several editor-related bugs
Fixed crash of virtual machine when execution gets aborted while loading and executing a file
Minor bug fixes in LispKit libraries
New features:
Complete revamp of user interface optimized for macOS Big Sur
Introduced key equivalents for session and editor windows
Rewrote line number display; allow selection of line ranges
Introduced feature to automatically indent Scheme code
Updated and extended documentation (accessible via "Help > LispPad Help" and "Help > LispPad Library Reference")
Included new libraries: (srfi 9)
, (srfi 180)
, (srfi 209)
, (srfi 210)
Extended library (lispkit log)
with syntax log-time
Extended library (lispkit debug)
with syntax time-values
Extended library (lispkit math)
with procedures fxodd?
, fxeven?
, fx-width
, fx-greatest
, and fx-least
in library (lispkit math)
.; generalized procedure number->string
Included new documentation for library (lispkit debug)
Included new sample code: DrawTrees.scm
, DisplayTrees.scm
, and EditDistance.scm
Date: 2020-10-05 Download: LispPad 1.5.1 (1150)
Bug fixes:
Fixed comparison of complex numbers and numbers involving NaN in library (lispkit test)
Fixed small bugs in (lispkit match)
and included support for =..
, *..
, and **1
New features:
Improved Scheme automatic indentation algorithm
Redesigned Scheme definitions menu in editor windows
Revision of library (lispkit test)
involving procedures test-group-failed-tests
, test-group-passed-tests
, failed-tests
, passed-tests
, current-test-epsilon
Refactored debugging functionality into library (lispkit debug)
New libraries: (srfi 194)
, (srfi 204)
, (lispkit sxml)
, (lispkit sxml html)
, and (lispkit sxml xml)
New documentation for libraries: (lispkit iterate)
, (lispkit comparator)
, (lispkit match)
, (lispkit csv)
, (lispkit log)
, and (lispkit test)
Date: 2020-07-01 Download: LispPad 1.5.0 (1100)
Bug fixes:
Speed up output in console windows by 10x
Save command history in session documents
Add "~/Documents/LispPad" as standard search path and search in external libraries and assets always first
Fixed a few path creation functions in library (lispkit system)
which failed for corner cases
define-values
can now be used wherever define
can be used, fixing a long-standing bug
Distinguish between empty response and failed request for HTTP requests in library (lispkit port)
Fixed bugs in PDF library documentation and extended it to cover the new libraries
New features:
Reorganized menus and shortcuts; improved "Help" menu
Support for marking up identifiers for standard Scheme procedures and special-forms when syntax-highlighting is enabled
Support for auto completions, including setting a custom delay both in console and editor windows
New libraries: (lisppad applescript)
, (lispkit sqlite)
, (lispkit combinator)
, (lispkit system os)
, (srfi 195)
and (srfi 196)
New documentation for libraries: (lispkit combinator)
, (lispkit stream)
, (lispkit iterate)
, (lispkit stack)
, (lispkit queue)
, and (lispkit system os)
Renamed library (lispkit iteration)
into (lispkit iterate)
Extended library (lispkit date-time)
with procedures date-time-add
, date-time-add-seconds
, date-time-diff-seconds
, date-time-in-timezone
, date-time-same?
, date-time=?
, date-time<?
, date-time>?
, date-time<=?
, date-time>=?
, and date-time-hash
.
Extended library (lispkit core)
with procedures thunk
, thunk*
, and apply-with-values
Extended library (lispkit string)
with procedures string-normalize-diacritics
and string-normalize-separators
Extended library (lispkit dynamic)
with procedures unwind-protect
and try
Extended library (lispkit control)
with procedure letrec-values
Extended library (lispkit system)
with procedures home-directory
, system-directory
, path-extension
, append-path-extension
, remove-path-extension
, file-readable?
, file-writeable?
, file-deletable?
, directory-readable?
, directory-writeable?
, and directory-deletable?
.
Extended library (lispkit draw)
with procedures set-image-size!
, bitmap-size
, bitmap-pixels
, bitmap-exif-data
, and set-bitmap-exif-data!
Support for timeouts in procedures handling HTTP ports in library (lispkit port)
Small tweaks to library (lispkit csv)
Library (lispkit box)
now supports multi-value boxes
New sample code Covid.scm
, ComposePhotos.scm
, CovidGraph.scm
, and ScriptingMacOS.scm
Date: 2020-03-30 Download: LispPad 1.4.4 (1089)
Bug fixes:
Fixed serious memory leak in the compiler and implemented several garbage collector enhancements
Made field access of records type safe
New features:
Link documentation for SRFI libraries directly from the libraries info panel of session windows
New example code: RenderMarkdown.scm
, Polynomials.scm
New libraries: (srfi 6)
, (srfi 54)
, (srfi 162)
Extended library (lispkit dynamic)
with assertion support: make-assertion-error
, assertion
, assert
New documentation for libraries (lispkit record)
, (lispkit regexp)
, (srfi 6)
, (srfi 54)
, (srfi 162)
Make LispPad Library Reference available in PDF form via the "Help" menu
Date: 2020-01-24 Download: LispPad 1.4.3 (1081)
Bug fixes:
Fixed bug in library (lispkit set)
which was leading to multi-set behavior
Fixed garbage collection issue in library (lispkit hashtable)
Fixed cosmetic issues in the line number viewer of the text editor
New features:
Library documentation now directly accessible in the "Libraries" tab of session windows
Support for document type-specific text completions
Support logging of garbage collection runs
New mechanism for providing/configuring assets such as images, documents, etc., enabling libraries to depend on data in an extensible fashion
New example code: SpellNumbers.scm
, Sudoku.scm
; extension of Math.scm
New libraries: (lisppad speech)
, (lispkit markdown)
, (lispkit disjoint-set)
, (srfi 175)
, (srfi 167)
, (srfi 98)
, (srfi 87)
Extended library (lispkit system)
with procedures asset-file-path
, path-components
, parent-path
, path
, and source-directory
Extended library (lispkit bytevector)
with procedures read-binary-file
and write-binary-file
Extended library (lispkit string)
with procedures write-file
, read-file
, string-pad-center
, string-empty?
; string-concatenate
now supports an optional separator character
Extended library (lispkit port)
with procedures open-input-asset
, open-binary-input-asset
, call-with-output-bytevector
, and call-with-output-string
Extended library (lispkit hashtable)
with procedure hashtable-empty-copy
; hashtable-hash-function
can now return a hash function for all hashtables
Extended library (lispkit math)
with procedure fxsqrt
Extended library (lispkit core)
with procedure opt
Extended library (lispkit draw)
to support assets, color lists and drawing of HTML
Added character set char-set:newlines
to (lispkit char-set)
New documentation for libraries (lisppad speech)
, (lispkit port)
, (lispkit heap)
, (lispkit markdown)
, (lispkit disjoint-set)
, (srfi 175)
, (srfi 167)
, (srfi 98)
, (srfi 87)
Date: 2019-10-21 Download: LispPad 1.4.2 (1044)
Bug fixes:
Replaced garbage collector with a more robust implementation
Fixed several issues in library (lispkit math)
: integer->fx
renamed to integer->fixnum
, introduced fxlogical-shift-right
and real->flonum
, fixed bit-count
, fixed fxmodulo
to work with negative numbers
Fixed explanations for symbols containing "->"
New features:
Simplified printed representation of procedures
Provided a more complete set of hash functions via library (lispkit hashtable)
New libraries: (lispkit comparator)
, (srfi 174)
, and (srfi 177)
New documentation for libraries (lispkit math)
and (lispkit bytevector)
.
Date: 2019-09-10 Download: LispPad 1.4.1 (1030)
Bug fixes:
Fixed handling of option-clicks to show documentation popovers
Fixed memory leak involving recursive local functions
Implemented algebraic datatypes in terms of more efficient internal functions
New features:
Allow logging of input and output of sessions
Support for uninterned symbols
Support for custom keywords in let-keywords
Extension and re-implementation of library (lispkit type)
New libraries: (lispkit stream)
, (scheme mapping)
, (srfi 146)
, (srfi 165)
, (srfi 173)
Inclusion of miniAdapton
in a new third-party directory
New example code for generating mazes
Included documentation for (lispkit control)
, (srfi 173)
Date: 2019-08-21 Download: LispPad 1.4.0 (1004)
Bug fixes:
Bug fixes in library (lispkit gvector)
Fixed memory leak involving recursive local functions
New features:
Significant performance improvements in the LispKit interpreter
Documentation popovers in session and editor windows (use menu item "View > Explain..." or option-click on symbol)
Documentation viewer in environment sidebar of session windows
New SRFI libraries: SRFI 26, SRFI 33, SRFI 46, SRFI 55, SRFI 146, and SRFI 165
New libraries: (scheme mapping)
, (lispkit stream)
, (lispkit graph)
Included documentation for SRFI 26, SRFI 33, SRFI 46, SRFI 55, SRFI 146, SRFI 161, SRFI 165, (lispkit core)
, (lispkit list)
, (lispkit dynamic)
, (lispkit char)
, (lispkit char-set)
, and (lispkit string)
Date: 2019-02-27 Download: LispPad 1.3.1 (950)
Bug fixes:
Complete re-write of library import and export logic fixing numerous bugs and incompatibilities with R7RS
Improved reporting of errors in library definitions
Fixed output of multi-value results in the session window
Allow @
as initial character in identifiers
New features:
New libraries: (lispkit csv)
, (lispkit match)
, (lispkit regexp)
, (lispkit gvector)
, (lispkit date-time)
Extended (lispkit vector)
and (lispkit list)
libraries
Support for let-keywords
and let*-keywords
in library (lispkit control)
Support call tracing for individual procedures
Include call traces in the session log
Make the last three session results available via *1
, *2
, and *3
Date: 2019-01-04 Download: LispPad 1.3.0 (930)
Bug fixes:
Fixed font handling in session windows
Bug fixes affecting bytevector-copy!
, fold-left
, max
, min
, numerator
, denominator
, log
, magnitude
, gcd
and lcm
, as well as the escaping of symbols
Handle closing of ports correctly in library (lispkit port)
Fixed major bug in library (lispkit system)
affecting the composition of file paths
Moved from #\dx????
syntax to #\x????
to represent character literals
New features:
Session log (for making all log data available via one window)
New libraries: (lisppad log)
, (lispkit log)
, (lispkit char-set)
, (scheme char)
Support for most Scheme libraries from R7RS large/Red edition: (scheme box)
, (scheme charset)
, (scheme comparator)
, (scheme generator)
, (scheme hash-table)
, (scheme ideque)
, (scheme list)
, (scheme rlist)
, (scheme set)
, (scheme sort)
, (scheme stream)
, (scheme text)
, (scheme vector)
New SRFI libraries: SRFI 14 (full + ascii), SRFI 101, SRFI 125
New functionality in library (lispkit test)
:
Support for nested test groups
Approximate tests
Handling of exceptions
More user-friendly error messages for operating system errors
New example code showcasing LispPad's drawing library
Extended Help menu
Date: 2018-11-05 Download: LispPad 1.2.3 (920)
Bug fixes:
The "LispPad Help" menu item still didn't work in version 1.2.2; this is fixed now
New features:
Support jumping to a given line number and to the beginning and end of a text document
Included implementation of "Tiny CLOS" as library (lispkit clos)
New SRFI libraries: SRFI 23, SRFI 34, SRFI 39, SRFI 95
Documentation for libraries (lispkit set)
and (lispkit enum)
Date: 2018-11-02 Download: LispPad 1.2.2 (907)
Bug fixes:
The help book was missing in the last release; it's included again
Date: 2018-10-30 Download: LispPad 1.2.1 (903)
Bug fixes:
Revised all hash functions; fixed several hashing-related bugs
Bug fixes in library (lispkit draw)
Renamed library (lisppad app)
to (lisppad system)
New features:
Support for dark mode
Markdown syntax highlighting
New preferences pane: colors customizable for syntax highlighting
Extended library documentation in LispPad's help book
New SRFI libraries: SRFI 11, SRFI 14, SRFI 16, SRFI 51, SRFI 161
New libraries: (lispkit draw turtle)
, (lisppad turtle)
New functionality in library (lispkit draw)
:
New drawing functions
Comprehensive font API
Support for multi-page PDF files
Date: 2018-08-21 Download: LispPad 1.2.0 (850)
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
(lispkit test)
was extended to be more compatible with similar libraries
New features:
The menu showing currently opened windows now 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
Date: 2018-06-19 Download: LispPad 1.1.1 (755)
Bug fixes:
Prelude and libraries path preferences are now handled correctly and do not result in access issues anymore
Programs blocking on functions like read
can now be terminated
Minor bugs in bitwise operations for exact integers of arbitrary size fixed
string-split
now returns a list instead of a vector
New features:
Allow setting a default home directory outside of the application's sandbox (in preferences)
Complete rewrite of the error reporting subsystem, including support for file-error?
and read-error?
New library: (lispkit test)
New SRFI libraries: SRFI 69, SRFI 129, SRFI 137, SRFI 145, SRFI 151
New example code for coroutines, HTTP support, and a small compiler for arithmetic expressions
Date: 2018-02-08 Download: LispPad 1.1.0 (700)
Bug fixes:
Support tail patterns in syntax-rules
and fix various syntax-rules
-related bugs
Fixed major bug in macro expansion logic
Fixed major bug preventing internal definitions to work in many cases
New features:
Complete refactoring of the default libraries to match the R7RS specification
New libraries: (lispkit json)
, (lispkit wt-tree)
, (lispkit object)
, (lispkit stack)
, (lispkit queue)
, (lispkit logic)
New SRFI libraries: SRFI 63, SRFI 64, SRFI 158
Support for features
and cond-expand
Support include
and include-library-definitions
in library definitions
Implement missing R7RS functionality: define-values
, syntax-error
, scheme-report-environment
and null-environment
.
Added SRFI 112-style support for human-readable information about the hardware and operating system on which LispPad is running
Simple API for HTTP GET requests
Simple native API for date/time functions
Bitwise operations for exact integers of arbitrary size
Extension of hashtable API
Extension of bytevector API
Extension of list API
New lightweight type abstraction mechanism
Support call tracing (as a simple debugging mechanism)
Name new session windows differently than new editor windows
Date: 2017-09-18 Download: LispPad 1.0.2 (640)
Bug fixes:
Garbage collection now does not accidentally collect anymore parts of parameter objects
Record type creation now working also for records with fields that are not set by the constructor
More syntax-rules bug fixes
New features:
Support for algebraic datatypes
Added a few additional destructive string functions
Added pretty printer via library (lispkit prettify)
New library for implementing priority queues: (lispkit heap)
New library for creating PDF files: (lispkit pdf)
Support for SRFI 152
New example code
Date: 2017-08-14 Download: LispPad 1.0.1 (620)
Bug fixes:
Files can now be opened via the Finder
Several issues with macros have been resolved in the Scheme interpreter
Several issues with String functions have been fixed in the Scheme interpreter
New features:
Added new Open Internally… menu item to access example source code and the source code of internal libraries
Support R6RS-style enumerations
Support for SRFI 31
Support for SRFI 35
Support for SRFI 135