-
chevron_right
Brackets in Lisp
Michał "phoe" Herda · Sunday, 28 April, 2019 - 08:41 edit
(set-macro-character #\[
(lambda (stream char)
(declare (ignore char))
(read-delimited-list #\] stream t)))
(set-macro-character #\]
(lambda (stream char)
(declare (ignore stream char))
(error "unmatched bracket on input")))
CL-USER> [defun frobnicate [foo bar]
[list [+ foo bar] [- foo bar]
[* foo bar] [/ foo bar]]]
FROBNICATE
CL-USER> [frobnicate 42 20]
(62 22 840 21/10)