(setf (aref *readtable* (char-int #\[)) (cons :tmacro (lambda (f c &aux ex) (do () ((eq (peek-char t f) #\])) (setf ex (append ex (list (read f))))) (read-char f) (cons (cons 'send ex) nil)))) (setf (aref *readtable* (char-int #\])) (cons :tmacro (lambda (f c) (error "misplaced right bracket"))))