Ludovic Courtès schreef op di 15-02-2022 om 20:42 [+0100]: > The problem is that ‘read’ hash extensions (like those for #~ and #$) > would so far return sexps with associated source properties, but > psyntax > in 3.0.8 ignores those source properties.
Read hash extensions can return syntax objects. In a Guile 3.0.8 REPL:
(define-module (hat))
(define (hat s-exp)
`#(hat ,s-exp))
(read-hash-extend #\^
(lambda (_ port)
;; Use 'read-syntax' instead of a combination of 'read' and
;; 'datum->syntax' for source properties.
#`(hat '#,(read-syntax port))))
#^(foo bar)
$4 = #(hat (foo bar))
Doing something like this in the hash extension for G-exps might work.
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part
