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: структуры