Releases: gmpalter/cl-forth
Releases · gmpalter/cl-forth
CL-Forth 1.3.5
Release 1.3.5 of CL-Forth
Performance Improvements
- Change the FORTH-SYSTEM class to a structure. Update WITH-FORTH-SYSTEM to arrange for inlined slot access
- Change the WORDS, DICTIONARY, and WORD-LISTS classes to structures to get inlined slot access
- Change how parameters are saved in words to use a structure, eliminating the use of APPLY in FORTH-CALL
- Optimize the implementation of ACCEPT
- Optimize the character "primitives" EXTRACT-CHAR, FORTH-CHAR, NATIVE-CHAR
- Optimize the functions that convert between Forth strings and native strings
- Use EQL instead of CHAR-EQUAL in places where the overhead of CHAR-EQUAL is superfluous
Bug Fixes
- Fixes issue #1
CL-Forth 1.3
Release 1.3 of CL-Forth
FFI improvements:
- Support
[OPTIONAL]
withLIBRARY
- Change
XLIBRARY
to understand that, on Linux, library names frequently end with a version number (e.g., "libc.so.6", "libcurl.so.4.6.0") instead of the ".so" suffix. - In CCL and SBCL, CFFI ignores the
:library
argument tocffi:foreign-funcall
andcffi:foreign-symbol-pointer
. Define a "libDefault" library soFUNCTION:
andGLOBAL:
can be used on those platforms without first loading a library. - Improve the error messages when a foreign function or global is not found.
- In CCL and SBCL, omit the library name from the output of
.IMPORTS
as it's not accurate. - In LispWorkds, suppress CFFI's created foreign funcallable announcement.
- FFI callbacks now save and restore the data and floating-point stacks locally to allow nested and/or concurrent callbacks.
- Add FFI.md
- Add an example of using the FFI
Other Highlights:
- Add
BEGIN-NAMED-STRUCTURE
to create a structure whose field names will include the structure's name. - Add
LFIELD:
andWFIELD:
to create longword (32-bit) and word (16-bit) structure fields, respectively. - Add longword (nee, 32-bit) access words
L@
,UL@
,L!
, andL,
. - Add word (nee, 16-bit) access words
W@
,UW@
,W!
, andW,
. - Add pointer access words
P@
andP!
. - Save the docstring in
define-word
and display it as part of the output ofSEE
. - Allow building standalone applications with SBCL in addition to CCL.
- Catch Ctrl-C and abort to CL-Forth top level
- Add
STATISTICS
to report some usage statistics. Also, display the statistics when exiting CL-Forth. - Updated README.md
Full Changelog: v1.2...v1.3
CL-Forth 1.2
Release 1.2 of CL-Forth
CL-Forth 1.1.2
Release 1.1.2 of CL-Forth