1
0
mirror of https://github.com/janet-lang/janet synced 2024-09-27 14:48:13 +00:00

added thaw to complement freeze

This commit is contained in:
tionis 2023-05-19 21:18:48 +02:00
parent f2197fa2d8
commit 56d927c72d

View File

@ -2142,6 +2142,19 @@
:buffer (string x)
x))
(defn thaw
`Thaw an object (make it mutable) and do a deep copy, making
child value also mutable. Closures, fibers, and abstract
types will not be recursively thawed, but all other types will`
[ds]
(case (type ds)
:table (walk-dict thaw ds)
:struct (walk-dict thaw ds)
:array (walk-ind thaw ds)
:tuple (walk-ind thaw ds)
:string (buffer ds)
ds))
(defn macex
``Expand macros completely.
`on-binding` is an optional callback for whenever a normal symbolic binding