| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| Quoin source code.tar.gz | 2026-08-05 | 60.3 MB | |
| Quoin source code.zip | 2026-08-05 | 60.6 MB | |
| README.md | 2026-08-05 | 2.3 kB | |
| Totals: 3 Items | 120.9 MB | 3 | |
Summary: :hmap & :hset Refactoring and System Impact
The core :hmap and :hset classes have been refactored to inherit
directly from :list. By utilizing inline list storage for single-bucket
structures, this eliminates dedicated heap memory allocations for bucket
management.
Because :hmap serves as the foundation for lexical scoping environments and
class vtables, eliminating these allocations removes multiple alloc/free cycles
from every function and lambda invocation across the OS.
This optimization reduces complete system rebuild times on Apple M4 hardware from 0.074s down to 0.068s.
Key Changes
Core Architecture & Caching
-
Refactored
:hmapand:hsetto inherit directly from:list, eliminating extra heap allocations for bucket management during scope creation. -
Switched the
+str_hashslotcache field on interned symbols and strings to a strictly positive slot index. -
Enabled cached
+str_hashslotO(1) slot lookups in:pmap :findand:pmap :pinsertfor both:symand:strkeys. -
Reordered cache cleanup in
:lisp :runto execute:font :flushprior to symbol flushing, preventing cross-referencing between font symbols and global symbols.
Collections & Class Hierarchy
-
Renamed the
:plistclass to:pmapfor naming consistency. -
Introduced the new
:pset(property set) class. -
Extended
Lset,Fset, andTreecollections with support for:pset. -
Updated the
(atom?)predicate to correctly classify:psetand:pmapinstances. -
Restricted backing storage for the
:dimmulti-dimensional array class strictly to:numsvectors.
Tools & Command Line Utilities
-
Updated
cmd/includeswith parsing support for:psetand:pmap. -
Added a multi-node parallel execution option (
-j, --jobs) tocmd/ctf, enabling font compilation workloads to be distributed across cluster nodes. -
Fixed
Substrsearching when given a:syminstance as source text.
Bug Fixes & Service Stability
-
Corrected a double-release race condition in the distributed lock service (
service/lock/). -
Added unit test coverage for
:psetoperations. -
Updated reference documentation covering collection classes and the new
:psetclass.
Enjoy
Chris