Comments 8
and и or – это специальные формы, а не функции! Это принципиально, и на этом в Лиспе много построено. Второй аргумент не вычисляется, если первого достаточно.
Попробуйте у себя и в clisp:
(and nil (princ "Hello"))
(or t (princ "Hello"))Специальные формы реализуются макросами.
quote и ' имеют только один аргумент. Это связано с тем, что
('hello world!)– это форма из литерала 'hello и значения атома world!. Иначе вы так всю программу заквотите одной кавычкой.
Sign up to leave a comment.
Продолжаем делать реализацию LISP на Python. Часть 1: структуры