Thank you!

I thought, that #'(1 . (2)) == #'(1 2) as '(1 . (2)) == '(1 2)

And Racket printer thinks same:

> #'(1 . (2))
#<syntax:19:4 (1 2)>
Fri, 15 Aug 2014 07:13:39 +0100 от Matthew Flatt <[email protected]>:
>At Fri, 15 Aug 2014 09:55:11 +0400, Roman Klochkov wrote:
>>  What is the difference?
>> 
>> > (let ([stx #'(1 (+ 3 4) 5 6)]) (equal? (syntax->list stx) (syntax-e stx)))
>> #t Or syntax->list == (lambda (x) (let ([res (syntax-e x)]) (if (list? x) x 
>> #f))) ?
>
>You need a `.` to expose the difference:
>
> > (syntax-e #'(1 . (2)))
> '(#<syntax::35 1> . #<syntax::39 (2)>)
>
> > (syntax->list #'(1 . (2)))
> '(#<syntax::62 1> #<syntax::67 2>)
>


-- 
Roman Klochkov
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to