Здравствуйте.
Небольшая непонятка. Насколько я понял, при сравнении списков в picolisp и newlisp сравниваются непосредственно сами списки, а не символы, указывающие на них. Это показалось мне странным, особенно в контексте производительности, учитывая, что (особенно) picolisp рвет на списочных структурах все лиспы как тузик грелку. Пруф.
picolisp:
(set 'a (1 2 3))
(set 'b (1 2 3))
(print (= a b)) # T
scheme:
(define a '(1 2 3))
(define b '(1 2 3))
(write (eq? a b)) ; #f
(write (equal? a b)); #t