sharp reader added by alicemaz on Thu Jun 25 12:47:28 2020

#;32> 
(set-sharp-read-syntax! #\> (lambda (p) (letrec ((f (lambda (p acc)
  (let ((c (read-char p)))
       (cond ((and (eqv? c #\<) (eqv? (peek-char p) #\#))
              (read-char p)
              (list->string (reverse acc)))
             ((eof-object? c)
              (error "messed up"))
             (else
              (f p (cons c acc))))))))
  `(foreign-declare ,(f p '())))))
#;33> (with-input-from-string "(module lol *\n; comment\n#;(special read comment)\n#>\ndanger\n<#(fn 1 2)\n\n)\n" read)
(module lol * (foreign-declare "\ndanger\n") (fn 1 2))