Release Notes
Version 2.1
Date: 2024-11-24
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, andWebserver.scm
Version 2.0.1
Date: 2024-02-29
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
Version 2.0
Date: 2024-02-09
Bug fixes:
- Enforce that imported (immutable) definitions cannot be mutated, unless it’s in the read-eval-print loop;
export-mutablein 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-ofof 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
Version 1.7.3
Date: 2023-02-12
Bug fixes:
- Improved R7RS regression tests
- Bugfixes in library
(lispkit bytevector)for proceduresbytevector-copyandbytevector-copy!
New features:
- Revamp of library
(lispkit graph)with new procedures:graph-topological-sort,graph-graph-weakly-connected-components,graph-strongly-connected-components, andgraph-shortest-paths - New libraries:
(srfi 228),(srfi 233), and(srfi 236) - New documentation for library
(lispkit graph)
Version 1.7.2
Date: 2022-12-22
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
Version 1.7.1
Date: 2022-08-14
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-fontsandavailable-font-familiesin library(lispkit draw) - Changed defaults for procedure
string-insert!of library(lispkit string) - Made procedure
open-fileof 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-forfrom library(lispkit type)can be used to determine the type tag of a given object; breaking change formake-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, andatan - 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, andStyledTextDoc.scm
Version 1.7.0
Date: 2022-02-19
Bug fixes:
- Fixed several bugs in math libraries:
- Prevent crash on division by zero for
fx/ - Make
exactalso work for negative numbers - Improve
inexactwhen used with rationals with a very large numerator or denominator
- Prevent crash on division by zero for
- 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, andfxrandom - Support unary arguments for
fx-,fl-, andfl/ - Remove
fixnum-width,least-fixnumandgreatest-fixnum - New procedures
make-flonum,flexponent,flsignificand,flnext,flprev,fx-width,fx-greatest,fx-least,fl-epsilon,fl-greatest, andfl-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<=, andfl>=
- Introduce consistent interface for:
- New procedures in library
(lispkit math util):make-nan,nan-negative?,nan-quiet?,nan-payload, andnan=? - New procedures in library
(lispkit system):physical-memory,memory-footprint, andsystem-uptime - New procedure in library
(lispkit port):display* - New procedures in library
(lispkit debug):stack-size,call-stack-procedures,call-stack-trace, andset-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
Version 1.6.3
Date: 2021-12-17
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
loadinto 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
Version 1.6.2
Date: 2021-10-10
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)andexptin(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-directoryto 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 codeMath.scm
Version 1.6.1
Date: 2021-08-21
Bug fixes:
- Fixed behavior of “Play” button in editor windows, now setting the source directory correctly
- Bug fixes in library
(lispkit system):home-directoryalso supports a non-sandboxed mode,file-pathhandles tilde correctly - Bug fixes for a few procedures of library
(lispkit archive zip) - Bug fix in procedure
load(previously,loadalways 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-pathof 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 codeMath.scm - Minor update of the LispPad and LispKit library documentation
Version 1.6.0
Date: 2021-05-28
Bug fixes:
- Allow
let*andletrec*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),(scheme red),(scheme fixum),(scheme bitwise),(scheme division) - Extended library
(lispkit string)with proceduresstring-decode-named-charsandstring-encode-named-chars - Extended library
(lispkit char)with procedurechar-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, andenvironment-assign-documentation! - Extended library
(lispkit sqlite)with proceduressqlite-database?andsqlite-statement? - Support custom environments for the
compileprocedure of(lispkit debug) - New sample code:
PlayMusic.scm,ObliqueProjection.scm,VisualizePointSets.scm,Schelog.scm
Version 1.5.2
Date: 2020-12-26
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 syntaxlog-time - Extended library
(lispkit debug)with syntaxtime-values - Extended library
(lispkit math)with proceduresfxodd?,fxeven?,fx-width,fx-greatest, andfx-leastin library(lispkit math).; generalized procedurenumber->string - Included new documentation for library
(lispkit debug) - Included new sample code:
DrawTrees.scm,DisplayTrees.scm, andEditDistance.scm
Version 1.5.1
Date: 2020-10-05
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 procedurestest-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)
Version 1.5.0
Date: 2020-07-01
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-valuescan now be used whereverdefinecan 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 proceduresdate-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>=?, anddate-time-hash. - Extended library
(lispkit core)with proceduresthunk,thunk*, andapply-with-values - Extended library
(lispkit string)with proceduresstring-normalize-diacriticsandstring-normalize-separators - Extended library
(lispkit dynamic)with proceduresunwind-protectandtry - Extended library
(lispkit control)with procedureletrec-values - Extended library
(lispkit system)with procedureshome-directory,system-directory,path-extension,append-path-extension,remove-path-extension,file-readable?,file-writeable?,file-deletable?,directory-readable?,directory-writeable?, anddirectory-deletable?. - Extended library
(lispkit draw)with proceduresset-image-size!,bitmap-size,bitmap-pixels,bitmap-exif-data, andset-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
Version 1.4.4
Date: 2020-03-30
Bug fixes:
- Fixed serious memory leak in the compiler and implemented several garbage collector enhancements
- Made field access of records type safe
New features:
- Linked 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) - Made LispPad Library Reference available in PDF form via the “Help” menu
Version 1.4.3
Date: 2020-01-24
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 ofMath.scm - New libraries:
(lisppad speech),(lispkit markdown),(lispkit disjoint-set),(srfi 175),(srfi 167),(srfi 98),(srfi 87) - Extended library
(lispkit system)with proceduresasset-file-path,path-components,parent-path,path, andsource-directory - Extended library
(lispkit bytevector)with proceduresread-binary-fileandwrite-binary-file - Extended library
(lispkit string)with procedureswrite-file,read-file,string-pad-center,string-empty?;string-concatenatenow supports an optional separator character - Extended library
(lispkit port)with proceduresopen-input-asset,open-binary-input-asset,call-with-output-bytevector, andcall-with-output-string - Extended library
(lispkit hashtable)with procedurehashtable-empty-copy;hashtable-hash-functioncan now return a hash function for all hashtables - Extended library
(lispkit math)with procedurefxsqrt - Extended library
(lispkit core)with procedureopt - Extended library
(lispkit draw)to support assets, color lists and drawing of HTML - Added character set
char-set:newlinesto(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)
Version 1.4.2
Date: 2019-10-21
Bug fixes:
- Replaced garbage collector with a more robust implementation
- Fixed several issues in library
(lispkit math):integer->fxrenamed tointeger->fixnum, introducedfxlogical-shift-rightandreal->flonum, fixedbit-count, fixedfxmoduloto 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).
Version 1.4.1
Date: 2019-09-10
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
miniAdaptonin a new third-party directory - New example code for generating mazes
- Included documentation for
(lispkit control),(srfi 173)
Version 1.4.0
Date: 2019-08-21
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)
Version 1.3.1
Date: 2019-02-27
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-keywordsandlet*-keywordsin 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
Version 1.3
Date: 2019-01-04
Bug fixes:
- Fixed font handling in session windows
- Bug fixes affecting
fold-left,max,min,numerator,denominator,log,magnitude,gcdandlcm, 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
Version 1.2.3
Date: 2018-11-05
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)
Version 1.2.2
Date: 2018-11-02
Bug fixes:
- The help book was missing in the last release; it’s included again
Version 1.2.1
Date: 2018-10-30
Bug fixes:
- Revised all hash functions; fixed several hashing-related bugs
- Bug fixes in library
(lispkit draw)
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
Version 1.2.0
Date: 2018-08-21
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
importinvocation, as required by R7RS current-input-port,current-output-port, andcurrent-error-porthave 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
.txtand.mdtext 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 system)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
Version 1.1.1
Date: 2018-06-19
Bug fixes:
- Prelude and libraries path preferences are now handled correctly and do not result in access issues anymore
- Programs blocking on functions like
readcan now be terminated - Minor bugs in bitwise operations for exact integers of arbitrary size fixed
string-splitnow 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?andread-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
Version 1.1.0
Date: 2018-02-08
Bug fixes:
- Support tail patterns in
syntax-rulesand fix varioussyntax-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
featuresandcond-expand - Support
includeandinclude-library-definitionsin library definitions - Implement missing R7RS functionality:
define-values,syntax-error,scheme-report-environmentandnull-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
Version 1.0.2
Date: 2017-09-18
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
Version 1.0.1
Date: 2017-08-14
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
Version 1.0
Date: 2017-07-17
First published version.