Для моей домашней работы, у меня есть небольшой список переводчик написанный в C с несколькими функциями уже закодированы: set
, cons
, car
, cdr
и quote
.сюсюкать функция, которая не оценивает свои аргументы
И я должен добавить еще 6 функций по своему выбору. 3 с оценкой аргументов и 3 без оценки аргументов. С оценкой, я выбираю: eq
, +
и -1
, , но у меня нет идеи для следующих 3, какая функция Lisp полезна без оценки аргументов?
В Коммон Лисп, все функции оценивают свои аргументы. Если аргументы не подлежат оценке, вам нужен макрос или специальная форма, которая не оценивает его аргументы. –
Возможно, вы можете реализовать 'cond', который не оценивает свои аргументы как функцию. Возможно, вы могли бы реализовать некоторые другие специальные формы для потока управления. Возможно, вы можете реализовать 'defun'. –
Почему ярлык common-lisp? Вы создаете двойное пространство имен? лексически охвачен динамически охваченной областью? Я бы принял решение по этим двум вопросам, прежде чем принимать решение о том, какие специальные формы реализовать, кроме 'if', который является slam dunk. – Sylwester