l10n_be (l10n_be) wrote in ru_lisp,
l10n_be
l10n_be
ru_lisp

Category:

парочка вопросов

В процессе изучения Лиспа натыкаюсь на некоторые моменты, с которыми пока не могу разобраться.

1) sbcl & nunion

Введём такой простой код в repl clisp, gcl и sbcl
(setf a '(1 2 3))
(setf b '(4 5 6))
(nunion a b)
; clisp, gcl => '(1 2 3 4 5 6)
; sbcl => '(3 2 1 4 5 6)

А теперь узнаем значение a: в clisp и gcl получим '(1 2 3 4 5 6), а в sbcl -- '(1 4 5 6).

Вопрос: кто неправ? У clisp и gcl результат логичный и ожидаемый, у sbcl -- не пойми что. Если поведение sbcl правильное, то каков смысл в существовании nunion?

HyperSpec ситуацию не прояснил.

2) gcl

Возьмём такую простую программку для проверки:

(defun test (a)
(print a))

(test 6)

$ gcl -f test.lisp

Error: The variable A is unbound.
Fast links are on: do (si::use-fast-links nil) for debugging
Error signalled by SYSTEM::SET-UP-TOP-LEVEL.
Backtrace: PRINT

Если в начало добавить (si::use-fast-links nil), то запускается. Чего он хочет?
Subscribe

  • определение контуров предметов на видео

    Я дико извиняюсь, могу ошибаться, но три-пять лет назад в ЖЖке пробегал пост от лисповода, в котором товарищ демонстрировал как можно просто без…

  • group

    Доброго времени суток. Нужна была функция, которая группирует список группами по несколько элементов. Получился не совсем красивый велосипед. Никто…

  • скобки в Scheme

    Возможно достаточно глупый вопрос, но я не совсем понимаю в какую сторону копать. (define def1 (let ( (i 0) ) (lambda () (set! i (+ i 1)) i)))…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments