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-keywords
andlet*-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
Version 1.3.0
Date: 2019-01-04
Bug fixes:
- Fixed font handling in session windows
- Bug fixes affecting
bytevector-copy!
,fold-left
,max
,min
,numerator
,denominator
,log
,magnitude
,gcd
andlcm
, 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)
- 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
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
import
invocation, as required by R7RS current-input-port
,current-output-port
, andcurrent-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
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
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?
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-rules
and 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
features
andcond-expand
- Support
include
andinclude-library-definitions
in library definitions - Implement missing R7RS functionality:
define-values
,syntax-error
,scheme-report-environment
andnull-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