Plaster
New
List
Login
common-lisp
default
phoe
2020.07.06 08:54:01
(defun qw-reader (stream character number) (declare (ignore character number)) (let ((*readtable* (copy-readtable *readtable*))) (setf (readtable-case *readtable*) :preserve) (mapcar #'princ-to-string (read-delimited-list #\} stream t)))) (set-dispatch-macro-character #\# #{ 'qw-reader) (defun qw-reader-error (stream char) (declare (ignore stream char)) (error "Mismatched closing brace")) (set-macro-character #\} 'qw-reader-error) CL-USER> '#{foo BAR Baz QuUx} ("foo" "BAR" "Baz" "QuUx")
Raw
Annotate
Repaste