| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Obelisk source code.tar.gz | 2026-05-03 | 60.0 MB | |
| Obelisk source code.zip | 2026-05-03 | 60.4 MB | |
| README.md | 2026-05-03 | 4.7 kB | |
| Totals: 3 Items | 120.4 MB | 1 | |
Release Notes
This release brings substantial improvements across the ChrysaLisp ecosystem, highlighted by the integration of LZ4 compression, significant enhancements to the Regular Expression engine, and a massive expansion of the internal architecture documentation (the AI Digest).
A fast LZ4 library has been introduced, integrating directly into stream handling, CLI tools, and the CPM image format (which now features a layered RAW -> RLE -> LZ4 pipeline). The task pipeline architecture has also been upgraded with a new open-pipe modes list, enabling robust task pinning and distribution via the new | and ! operators.
Additionally, the GUI and bundled applications have received notable updates. The Docs app now supports advanced Markdown rendering (strikethrough, highlights, bold-italics, and proper bullets) powered by the new (splice) functionality. Finally, the Mandelbrot demo has been updated to demonstrate a much more efficient boundary scan algorithm.
✨ New Features
- LZ4 Compression Integration:
- Added a new LZ4 library (
lib/streams/lz4.inc). - Added new
lz4andunlz4command-line apps. - Added LZ4 layer support to the
.cpmimage format. Compression is now an optional layered pipeline:RAW -> RLE -> LZ4. - Task Pipelines: Added an optional modes list to
(open-pipe tasks [modes]). ThePipeclass now uses this to implement the new|(distribution) and!(pinning) operators. - Ring Buffers: Added
:sys_mem :copy_to_ring,:sys_mem :copy_from_ring, and:sys_mem :copy_in_ring(for non-overlapping copies) methods for efficient ring buffer operations.
🛠 API & Command Line Changes (Breaking)
- CLI Rename: Renamed the
teecommand tosave. - Standard Library: Renamed the
(num-intern)function to(num)to match the convention of(sym). - GUI / Fonts: Renamed
*env_toolbar_font*(and related font environment variables) to*env_symbol_font*. - Method Promotion: Promoted the
(canvas-tile canvas data x1 y1 x2 y2)function to a nativeCanvasmethod:(. canvas :tile data x1 y1 x2 y2). - Signature Updates:
- Swapped the parameter order for
map!andfilter!optionals. Signatures are now:(filter! lambda seq [start end out])and(map! lambda seqs [start end out]). - Swapped the order of optional arguments on
(CPM-save canvas stream type [rle lz4 ident]).
📈 Enhancements & Optimizations
- Docs App Formatting: Added support for
strikethrough,highlight, andbold-italicin the text handler. Also added support for the Entypo bullet symbol (0xe979) for*bullets. - Docs App Performance: Upgraded the
parse-linefunction to use the new(splice)functionality for faster rendering. - Mandelbrot Demo: Updated to demonstrate a highly efficient boundary scan algorithm.
- Standard Library Improvements:
- Added a
:sizemethod to allSetclasses. - The
(reflow)function now accepts optionalindentstring andtab_widtharguments. - Optimized the processing of optional arguments for the
(!)iterators. - CLI Improvements: Added the
-s, --stdoutflag to thetimeandsave(formerlytee) commands to pass data through tostdout(defaults to:nil). - Image Processing:
canvas-savenow accepts any number of optional arguments and passes them through to the specific file format save function. - VM / Debugging: The
Validatebuild mode now clears float registers toNaNon each task restore.
🐛 Bug Fixes
- Regex Engine: Fixed the
+?lazy quantifier to correctly prioritize the loop exit over the repetition. - Regex Tests: Added comprehensive unit tests for lazy quantifiers (
*?,+?, and??) intests/text/test_lazy.lisp, including mixed lazy and greedy scenarios. - Macros: Fixed the
set-strmacro to prevent the potential double-evaluation of thevalargument. - Mandelbrot Demo: Removed the
(vp-sub-ff :f0 :f0)zeroing trick, as it caused issues on x64 MacBooks (caught by the newNaNregister clearing feature). - CLI: Fixed
cmd/slice.lispso that it properly clamps the slice to the actual line length.
📚 Documentation (The AI Digest)
Massive expansion of the docs/ai_digest/ directory to help developers (and AI assistants) better understand the ChrysaLisp architecture:
- Added
regexp_system.mddetailing the NFA-based engine. - Added
type_system.md. - Added
exceptions.md. - Added
task_pipelines.md. - Added
type_philosophy.md. - Added
flow_through.md. - Added
cscript_compiler.md. - Added
cscript_skills.md. - Added
docs_rendering.md.