Я использую Common Lisp, SBCL и Slime. Я новичок в Common Lisp.
Судя по всему, это круговой список в Common Lisp:
#1=('a 'b 'c . #1#)
Это обеспечило бы бесконечное число 'a'b'c'a'b'c'a...
Когда я помещаю это в REPL, оно продолжает работать вечно:
CL-USER> #1=('a 'b 'c . #1#)
Почему это происходит? Почему REPL не возвращает полученный объект?
Я могу понять бесконечное поведение, если бы я просил следующий элемент списка. Однако я спросил REPL о самом объекте.
Я ожидал такого же поведения, которое происходит с правильными списками или пунктирными списками:
CL-USER> (list 'a 'b 'c)
(A B C)
CL-USER> (cons 'a (cons 'b 'c))
(A B . C)