src/readtable.lisp @ 11dfd8438119 default tip

Added tag v1.0.1 for changeset acf092c22cdb
author Steve Losh <steve@stevelosh.com>
date Thu, 27 Aug 2020 22:17:20 -0400
parents d6aa232e6306
children (none)
(in-package :chancery)

(defun vector-reader (stream char)
  (declare (ignore char))
  (coerce (read-delimited-list #\] stream t) 'vector))


(defun eval-reader (stream char)
  (declare (ignore char))
  `(eval ,(read stream t t t)))

(defun gen-reader (stream char)
  (declare (ignore char))
  `(generate ,(read stream t t t)))

(defun gen-string-reader (stream char)
  (declare (ignore char))
  `(generate-string ,(read stream t t t)))


(named-readtables:defreadtable :chancery
  (:merge :standard)
  (:macro-char #\$ #'gen-string-reader nil)
  (:macro-char #\@ #'gen-reader nil)
  (:macro-char #\! #'eval-reader nil)
  (:macro-char #\[ #'vector-reader t)
  (:macro-char #\] (get-macro-character #\) nil)))