Описание тега on-lisp
В книге Пола Грэма On Lisp (1993) рассказывается о нескольких передовых методах программирования на Лиспе. Используйте этот тег для вопросов о коде или методах, представленных в этой книге.
2
ответа
Изучите макросы в схеме из On Lisp
Я очень хочу выучить макросы Scheme. Я просмотрел содержание "On Lisp", и многие главы были посвящены макросам Lisp. Однако я не знаю общего лиспа. Могу ли я использовать его для изучения макросов схемы?
05 июн '09 в 04:14
1
ответ
О реализации Пролога
Я просто хочу добавить возможность обрабатывать lisp-запрос в первоначальной реализации Prolog в тексте OnLisp. Поскольку эта возможность представлена в следующем разделе (новая реализация), я просто скопировал из новой реализации и внес некоторые…
30 окт '15 в 14:05
3
ответа
Разница между (применить #'аргументы somefunc) и (аргументами somefunc)
Читая книгу Пола Грэма " На Лиспе", я обнаружил следующее function в главе 4 "Функции утилит". (defun symb (&rest args) (values (intern (apply #'mkstr args)))) ;; mkstr function is "applied" ;; which evaluates like in the following example: >…
12 дек '16 в 21:02
1
ответ
Продолжение в общем lisp макросами - относительно реализации в OnLisp
В On Lisp , с. 267, Пол Грэм обеспечивает реализацию макроса передачи продолжения: (setq *cont* #'identity) (defmacro =lambda (parms &body body) `#'(lambda (*cont* ,@parms) ,@body)) (defmacro =defun (name parms &body body) (let ((f (intern (…
13 июл '14 в 10:24
1
ответ
Это действительно поиск в ширину
Ниже приведен фрагмент псевдокода поиска в ширину на стр.303 OnLisp. Для приведенного ниже графика он сначала обработает узел 1, а затем поместит узлы 2, 3 и 4 в очередь, а затем просто итеративно вызовет себя снова. Затем он продолжит работу с узло…
16 авг '14 в 12:55
1
ответ
Является ли это хорошим исправлением для слова "наш-наш-если" в сообщениях Грэма OnLisp на странице 23?
Страница с ошибками Пола Грэма "On Lisp" гласит: п. 23. our-find-if будет бесконечно повторяться, если ни один элемент не совпадает. Пойман Маркусом Триской. Определение функции, как показано в книге: (defun our-find-if (fn lst) (if (funcall fn (ca…
12 авг '14 в 09:32
1
ответ
Странный пример цитируемого списка из On Lisp
Этот отрывок из On Lisp действительно сбивает с толку - не ясно, как возвращать цитируемый список, такой как '(oh my) действительно может изменить поведение функции в будущем: не будет ли возвращенный список снова сгенерирован в функции с нуля, при …
11 апр '14 в 02:07
1
ответ
"На Лиспе": `(a b c) vs '(a b c) vs (список'a 'b 'c)
В " На Лиспе" (стр. 84) Грэм говорит ‘(a b c) (без запятой) равно ’(a b c) а потом говорит Список с кавычками эквивалентен обращению к списку с цитируемыми элементами.То есть, ‘(a b c) (без запятой) равно (list ’a ’b ’c), Одно утверждение должно быт…
02 июн '17 в 18:12
4
ответа
Сгладить список с помощью общего lisp
Я читал книгу Пола Грэма "На Лиспе". В главе 4 "Функции утилит" он приводит примеры небольших функций, которые работают со списками, что будет полезно при написании более крупной программы. Один из них является flatten, Если в качестве аргумента исп…
16 сен '14 в 10:24
1
ответ
По поводу продолжения в OnLisp
Я все еще интересуюсь вопросом, на который был дан ответ. продолжение в общем lisp макросами - относительно реализации в OnLisp Что произойдет, если предположение Пола Грэма будет верным, особенно при переходе от (A 5) к (B 1)? С чем здесь связано? …
29 мар '15 в 13:17
3
ответа
Странный сценарий цитирования на Лиспе - Graham's On Lisp, страница 37
Я работаю над книгой Грэма "На Лиспе" и не могу понять следующий пример на странице 37: Если мы определим восклицание так, чтобы его возвращаемое значение включает в себя цитируемый список, (defun восклицать (выражение) (добавить выражение '(о боже)…
23 окт '10 в 08:28
1
ответ
Необходимость цитаты в On Lisp's #[ read macro?
Я читаю на Лиспе и не могу понять, почему в приведенном ниже коде используется кавычка. Вот выдержка из текста: Другая комбинация символов, зарезервированная для пользователя, это # [. На рисунке 17.3 приведен пример того, как этот символ может бы…
27 апр '14 в 08:29
1
ответ
Хвост-рекурсивная функция уплощения в Emacs Lisp
Я изучаю On Lisp Пола Грэма и пытаюсь реализовать функции в Emacs Lisp. Один из них сглажен: (flatten '(a (b c) ((d e) f))) ;; Returns: (a b c d e f) Однако по какой-то причине реализация, данная Полом Грэмом, не работает на Emacs Lisp (всегда возвр…
23 июн '19 в 14:59
3
ответа
Эквивалентны (let) и (лямбда) в Common Lisp
Я читаю «О Лиспе» Пола Грэма, пытаясь лучше понять функциональный стиль программирования. В главе 3 он упоминает, что функциональные программы «работают, возвращая значения», а не выполняя побочные эффекты. Я не совсем понимаю последствия этого утве…
31 мар '23 в 03:30