Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
to your account
arc> (eval ``(+ 1 ,,@(list 2 3) 4))
Error: Unbound symbol: _unquote-splicing
Presumably we want the above form to evaluate to (+ 1 2 3 4) the way Common Lisp would, as opposed to the '(+ 1 2 4) that Scheme (erroneously) produces.
The text was updated successfully, but these errors were encountered:
Do you remember what scheme gave that result? On racket:
> ``(+ 1 ,,@(list 2 3) 4)
'`(+ 1 (unquote 2 3) 4)
(Wart gets it right :)
Sorry, something went wrong.
Off hand can't quite remember. I think it was an older version of Scheme48, as the present version I have installed right now (two computers and four OS reinstalls later) doesn't do it.
(+ 1 2 4) is what current reference Arc does when presented with (eval ``(+ 1 ,,@(list 2 3) 4)). Not sure why it does that.
Found an old discussion on this very topic:
Looks like the code linked to there might be the basis for Arcueid's new quasiquote algorithm.
Holy crap, you're right! Anarki is the same. I could swear this was fixed at some point. Perhaps on the arc2 branch?
Nested quasiquote behaviour now obeys Common Lisp semantics as of a2f07b0
No branches or pull requests