I am trying to understand the following function:
((lambda 'b ((lambda 'a '''''a) 'b `(this))) (lambda (x) (lambda (z) `(,x ,@z))) (car ''unquote))
the output is:
(quote quote quote quote quote this)
I am trying to understand the '@z' meaning, someone knows?
'@z'
'
`
,
,@
Look at this simple example:
`(1 ,(+ 1 1) ,@(list 3 4)) ;==> (1 2 3 4)
You can rewrite it like this and you will get the same result:
(quasiquote (1 (unquote (+ 1 1)) (unquote-splicing (list 3 4)))) ;==> (1 2 3 4)
https://www.cs.rpi.edu/academics/courses/fall00/ai/scheme/reference/schintro-v14/schintro_129.html
https://docs.racket-lang.org/reference/quasiquote.html
https://courses.cs.washington.edu/courses/cse341/04wi/lectures/14-scheme-quote.html
2.1m questions
2.1m answers
60 comments
57.0k users