I've been using Gambit Scheme as my primary language for about a year now, and I'm finding it pretty much the best for what I'm doing. However, the one thing that I find lacking is read- macros: Why doesn't Scheme have an equivalent to CL's set-macro-char and the like? It seems to me that you can do lots of interesting things with them that you couldn't do otherwise.
Does anyone know of a way to do something equivalent to the following CL in Gambit? I suspect that there's some way to do it using readtables...but I have no idea how..
(set-macro-character #] (get-macro-character #)))
(set-dispatch-macro-character ## #[ #'(lambda (stream char1 char2) (let ((accum nil) (pair (read-delimited-list #] stream t))) (do ((i (ceiling (car pair)) (1+ i))) ((> i (floor (cadr pair))) (list 'quote (nreverse accum))) (push i accum)))))
Thanks for your time, any help is appreciated!
James