Download Latest Version Eden source code.tar.gz (35.3 MB)
Email in envelope

Get an email when there's a new version of ChrysaLisp

Home / v3.7
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-11-29 3.5 kB
Tranquility source code.tar.gz 2025-11-29 35.3 MB
Tranquility source code.zip 2025-11-29 35.6 MB
Totals: 3 Items   70.8 MB 2

Big bag of changes for everyone.

🚀 Release Notes

✨ New Features & Apps

  • New Todo App: Added a simple Todo application.
  • New sed App: Introduced a simple sed command-line tool. Includes -x mode for matching and replacing submatches using $0-$9 syntax.
  • Editor Debugging:
    • Added Service RPC actions to the Editor. The Debug app can now request file loading and display the current breakpoint.
    • Added rudimentary auto-debug breakpoint helpers: Launch debug, toggle breakpoint, remove, enable all, disable all, and remove all. Note: This only removes auto-named breakpoints, preserving user-named ones.
  • Files Widget: Introduced a new Files widget.
  • Includes Tool: New includes command for auto-creation of .vp file header includes to save time and improve checking.
  • Memory Streams: New class/mstream/class.inc VP class for in-memory stream buffers (a seekable list of string objects). Lisp binding: (memory-stream) -> stream.

🛠 UI & Widget Improvements

  • Stack Widget: Now uses the Radiobar widget for tab navigation.
  • UI Macros: Added the ability to erase a property from a widget using the :erase value.
  • Images App: Upgraded to include file selection capabilities.

⚡ Core, VM & Performance

  • Native VP Implementations:
    • Lowered hex-encode and hex-decode to VP functions (replacing all uses of id-encode and id-decode).
    • Lowered (split str [cls]) to VP code, serving as the basis for improved file scanning.
    • Moved vp-min, vp-max, and vp-abs into the VP VM proper. Note: ARM64/x64 native cmov and csel operations can be used to implement these.
  • File Encoding: Smarter string encoding for .tre files.

📚 API & Language Changes

  • New Builtins & Macros:
    • New (read-blk stream bytes) -> :nil | str and (write-blk stream str) -> bytes builtin VP functions.
    • New (getf-> obj field|(field offset) ...) -> (val ...) macro (counterpart to setf->).
    • Added (path-to-relative target [current]) -> path to complement path-to-absolute. Defaults to (first (repl-info)) if current is not provided.
    • Fleshed out (set-xxx str idx val) macros to match (get-xxx str idx).
    • Fleshed out (read-xxx stream) -> val and (write-xxx stream val) -> stream macros.
  • Object & Class Handling:
    • Updated (obj-get ...) and (obj-set ...) to treat sub-struct members as strings. Updated getf and setf macros to support this API.
    • Added (type-of obj) support to all classes in class/.
  • Stream & IO:
    • (read-char stream [width]) update: Now defaults to unsigned byte. Positive widths imply signed values; negative widths imply unsigned.
    • New generic file line scanner: (scan-files files handler [split_class comment_char]) -> files.
  • CLI Options:
    • New -c codebook option for huff and unhuff commands to select static codebook mode.
    • New -s script_name option for batch/shell files to ease LLM tests (e.g., ./run_tui.sh -n 1 -f -s script_name).

🐛 Bug Fixes

  • Editor: Fixed an off-by-one issue in the Edit buffer left bracket matching.
  • Terminal: Fixed an issue causing one extra line to appear in the history buffer.
  • Audio Service: Now properly shares and reference counts resource handles.

Enjoy

Chris

Source: README.md, updated 2025-11-29