Releases: rasteric/z3s5-lisp
Maintenance release
This release removes the replacement directives in the main go.mod file and switches to an internal workspace for all of my packages. This should alleviate compile problems on remote systems. I'm planning to switch development to a development branch soon. For the time being, bear in mind that there can still be API and language changes, though not substantial ones.
Note that z3ui.RunGUI
takes an ID string as argument now. As it turns out, some Fyne methods panic when the preferences system is accessed and no app ID is set, so this is now prevented. Use an arbitrary ID like in z3g.go
if necessary, but of course you'll need to set the app ID to a repeatable value if you want to use the preferences.
Interim release with improved GUI support
This version supports a larger subset of Fyne GUI methods and adds experimental support for the zedit editor that will later enable the graphical executable to become closer to an IDE.
Version 2.4 with basic GUI support
This version incorporates a number of larger changes, including initial support for the Fyne GUI library and the z3g graphical GUI sample implementation. See the GUI section in the manual and the 'gui topic in the help system and reference for more information.
If you use the non-graphical z3 executable or embed the Lisp interpreter without using the https://github.com/rasteric/z3s5-lisp/gui
library, not much has changed. See cmd/z3/z3.go
for how to initialize the interpreter for non-graphical Lisp and cmd/z3g/z3g.go
for the graphical Lisp (which uses a normal command-line repl at this time). Example GUI programs are in cmd/z3g/demo.lisp
.
Better action support
Action support is more stable in this release, but the API might still change. This release has support for fileio, db, and sound tags. DB support requires fileio and the FTS5 tag, so building should use --tags "fileio db fts5
.
Version 2.3.10 with OOP and actions (plugin system)
This release fixes a number of bugs and a problem with the OOP implementation. It also offers the first experimental support for actions, which are instances of the action
class that can interface with the host system. To interface with Go, you have to implement (within Go) some functions starting with 'action. and can then define action
instances that implement plugin functionality. This requires some kind of management for these actions on the Go side, of course, and the interfacing is quite minimal.
OOP with updated User Manual
Fixed OOP bugs in Reference Manual, updated User Manual with section for how to use the (very simplistic) object-oriented programming facilities.
Object-oriented programming extension
Version with embedded very simple, lightweight object-system with multiple inheritance. More tests and various smaller bugs have been fixed.
Key-value database, images, updated manuals.
This is a maintenance release recompiled with Go 1.19, with updated manuals and Release Notes. It has support for zimages, key-value databases, Sqlite3 databases and file access.
Release with key-value database and zimages
Added kvdb and remember, recall, forget functions for persistence. The release notes mention a problem with zimages but so far I couldn't repeat this problem. The shutdown hook is active but no other hooks are available. As mentioned in the Release Notes, if you use the remember system with init-remember
when using Z3S5 Lisp in a Go program, then you need to make sure to call the shutdown hook at an appropriate time manually in order to close the remember database.
Version 2.3.4 with support for zimages
This release fixes a few minor bugs, updated the documentation, and adds module zimage. This module is written in Lisp and allows writing the system to disk, reading Lisp images from disk, and running images by executing an entry point after loading the image. An image replaces all toplevel symbols that it defines unless they have been declared as volatile. The updated User Manual and Reference Manual describe the process in more detail.