core: close surfaced gaps — first-class sorted colls, with-out-str, rand arity, deref reduced
jolt-ti9: sorted-map/sorted-set are now first-class across the collection fns — get/assoc/dissoc/conj/contains?/keys/vals/disj and call-as-fn all operate on the wrapper and preserve sort order. The by-comparator constructors (sorted-map-by/ sorted-set-by) now thread the user comparator (numeric or boolean-predicate) through all derived colls. Sorted predicates/ctors/ops moved above core-conj so the collection fns can branch on them; jolt-invoke (interpreter) gets inline branches. jolt-rfw: add with-out-str (binds output to a string buffer) + the macro. jolt-ek3: (rand n) arity and deref-of-reduced (uuid? still deferred). Specs: new io-spec.janet; sorted-spec expanded to pin the now-working map/set ops and by-comparator ordering; predicate/number spec restorations.
This commit is contained in:
parent
ae8b635602
commit
afef55704c
7 changed files with 174 additions and 30 deletions
|
|
@ -124,6 +124,7 @@
|
|||
["integer? fraction" "false" "(integer? 5.5)"]
|
||||
["reduced? wrapped" "true" "(reduced? (reduced 1))"]
|
||||
["reduced? plain" "false" "(reduced? 1)"]
|
||||
["deref reduced" "9" "(deref (reduced 9))"]
|
||||
["unreduced wrapped" "9" "(unreduced (reduced 9))"]
|
||||
["unreduced plain" "9" "(unreduced 9)"]
|
||||
["not-empty full" "[1]" "(not-empty [1])"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue