spec: set! now supports deftype mutable fields
This commit is contained in:
parent
424ce75cf6
commit
dfc34e6e71
1 changed files with 1 additions and 1 deletions
|
|
@ -151,5 +151,5 @@ S1–S3, E1 → jolt `forms-spec` let group; clojure-test-suite
|
||||||
| `var` | `#'` reader sugar; resolution at compile time |
|
| `var` | `#'` reader sugar; resolution at compile time |
|
||||||
| `throw` | any value vs Throwable — host question; jolt/cljs allow data, reference requires Throwable → classification needed |
|
| `throw` | any value vs Throwable — host question; jolt/cljs allow data, reference requires Throwable → classification needed |
|
||||||
| `try/catch/finally` | catch dispatch order, `:default`-style catch-all is a dialect extension (⚠ divergence note), finally evaluation guarantees, value of try |
|
| `try/catch/finally` | catch dispatch order, `:default`-style catch-all is a dialect extension (⚠ divergence note), finally evaluation guarantees, value of try |
|
||||||
| `set!` | `(set! *var* val)` sets the var's innermost thread binding, else its root, and returns val (implemented); a local (deftype mutable field) or host `(.-field obj)` target is host-dependent |
|
| `set!` | three targets, all implemented: `(set! *var* val)` sets the var's innermost thread binding (else root); `(set! field val)` inside a `deftype` method mutates a `^:unsynchronized-mutable`/`^:volatile-mutable` field in place; `(set! (.-field obj) val)` does the same via interop syntax. Returns val |
|
||||||
| `.` / `new` | syntax only; behavior host-defined |
|
| `.` / `new` | syntax only; behavior host-defined |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue