| After reading old Scheme stuff, I wrote (def test ()
(withs (val 0
get (fn () val)
set (fn (v) (= val v))
dispatch (fn (m)
(if (is m 'get) get
(is m 'set) set
(prn 'eh?))))
dispatch))
which let me write things like (= a (test))
(a!get) => 0
(a!set 5)
(a!get) => 5
and so forth.
But if I rewrite the "withs" as "with", it all fails.
Why's that? |