Today I learned that Racket and Guile represent syntax objects for lists differently.
I don't know yet which one I prefer, because in Guile `syntax` not always returns a syntax-object as one could expect, sometimes it returns a list.
(use-modules (system syntax))
(syntax? (syntax (+ 3 4))) ;; => #f
(syntax? (syntax hi)) ;; => #t
On the other hand TSPL4 book says that #'(+ 3 4) returns a valid list.
Who read RnRS? What does it say for this case?
BTW, today I implemented `syntax->list` using a `syntax-case`. I needed it to get a list of values from args pattern variable of (arg1 args ...) pattern.
And only now I realized that I don't actually need it, because #'(args ...) is already a list in Guile.
It solves my previous question about syntax->list I had last week:
https://fosstodon.org/@abcdw/114018596208278873
I'm curious: is it too geeky stuff to talk about out loud or is it still ok?)