Arc Cross Reference

zap

[macro] swap place1 place2

[macro] rotate place ...

[macro] push expr place

[macro] pushnew expr place (o test iso)

[macro] pop place

[macro] ++ place (o i 1)

[macro] -- place (o i 1)

[macro] zap op place arg ..

[macro] pull test place

Like Common Lisp's shiftf, rotatef, push, pushnew, pop, incf and decf, but these macros are thread-safe (expanded to use atwiths form.

zap is a general updater. Does (= place (op place arg ...)), except avoiding duplicate evaluation.

pull updates place to a list with the elements satisfying test being deleted. I don't think there's Lisp equivalent. It is also thread-safe.

See also defset, scheme:push!, scheme:pop!, scheme:inc!, scheme:dec!, scheme:update!.