Описание тега land-of-lisp
Land of Lisp - образовательный комикс, который учит читателей программировать на Common Lisp.
4
ответа
Основной вопрос о списке ассоциаций в Лиспе
Я читаю "Землю Лиспа" (кстати, одну из лучших технических книг, которые я когда-либо читал), и мне попался список ассоциаций. (defparameter *edges* '((living-room (garden west door) (attic upstairs ladder)) (garden (living-room east door)) (attic (l…
11 ноя '10 в 13:02
2
ответа
Использование "пепла" в LISP для выполнения бинарного поиска?
Итак, я сейчас читаю Land of Lisp, и Lisp оказывается совершенно другим, чем другие языки программирования, которые я видел. В любом случае, книга содержит код, который мы должны ввести в CLISP REPL: (defparameter *small* 1) (defparameter *big* 100)…
26 дек '11 в 10:16
1
ответ
Земля Лиспа src webserver.lisp
В то время как я изучал в 12 и 13 главе "Страна лиспов" "сокет". Я использую lispbox, поэтому мне нужно установить сокет. Наконец, я нашел доступный usocket. это пример того, как использовать usocket для создания веб-сервера. (defun serve (request-h…
29 ноя '12 в 08:45
2
ответа
Вывод ошибки CLISP REPL: как найти номер строки в файле, где произошла ошибка?
Я работаю через Land of Lisp, использую CLisp, пишу код в Vim с помощью Slimv, затем alt-tabbing в другое окно терминала и загружаю файл в REPL с помощью (load 'file.lisp), затем запускаю программы на РЕПЛ. Когда я получаю сообщение об ошибке в REPL…
24 май '11 в 22:32
1
ответ
Памятка с примером закрытия из Land of Lisp
На странице 329 Земли Лиспа Конрад Барски объясняет технику запоминания с помощью следующего примера кода (let ((old-neighbors (symbol-function 'neighbors)) (previous (make-hash-table))) (defun neighbors (pos) (or (gethash pos previous) (setf (getha…
08 апр '18 в 09:59
1
ответ
Что такое синтаксическое выражение?
Я читал в книге "Земля Лисп", автор упоминает syntax expression, Означает ли это способность выражать синтаксис как форму данных? Это так же, как S-expression (символическое выражение)?
04 мар '12 в 13:46
2
ответа
Код запускается в REPL, но не сохраняется в файле
Я пытаюсь создать текстовую игру Clojure (по мотивам Land of Lisp). (def *nodes* {:living-room "you are in the living-room. a wizard is snoring loudly on the couch." :garden "you are in a beautiful garden. there is a well in front of you." :attic "y…
04 мар '11 в 22:53
3
ответа
Оценка макро аргументов в clojure
Я пытаюсь перевести следующий макрос из Лиспа в clojure: (defmacro tag (name atts &body body) `(progn (print-tag ',name (list ,@(mapcar (lambda (x) `(cons ',(car x) ,(cdr x))) (pairs atts))) nil) ,@body (print-tag ',name nil t))) Но я продолжаю …
06 авг '11 в 17:28
4
ответа
Переполнение стека от рекурсивного вызова функции в Лиспе
Я изучаю Лисп из книги Конрада Барского "Земля Лисп". Теперь я столкнулся с моим первым камнем преткновения, где автор говорит: Вызывать себя таким образом не только разрешено в Лиспе, но часто настоятельно рекомендуется после показа следующего прим…
07 мар '13 в 10:50
1
ответ
Вопрос о lisp лямбда-функциях из примера в Лиспе
Я не совсем понимаю лямбда-функции. Вот пример функции из книги Land of Lisp: (defun edges->dot (edges) (mapc (lambda (node) (mapc (lambda (edge) (fresh-line) (princ (dot-name (car node))) (princ "->") (princ (dot-name (car edge))) (princ "[la…
15 сен '11 в 23:51
5
ответов
Твик-текст: вложенность Lisp превышает `max-lisp-eval-глубина
Программа должна переформатировать строку, как показано ниже. Пример: (game-print '(ЭТО ПРЕДЛОЖЕНИЕ。 ЧТО ОБ ЭТОМ? ВЕРОЯТНО.)) Это предложение. Как насчет этого? Наверное. Но что-то не так (вложенность Lisp превышает `max-lisp-eval-глубина), и я не з…
14 июн '12 в 02:54
2
ответа
Кадр списка, включающего ассоциированную функцию
Я посмотрел вокруг в сети и не могу найти ответ на свой запрос. Я был бы очень признателен, если бы кто-то смог дать хороший ответ без оценки рейтинга этого поста. В Лиспе car, cdr используются в режиме данных, как '(whatever here) что имеет смысл д…
31 май '14 в 05:32
2
ответа
LISP: обращение к списку в LISP с использованием RPLACA/RPLACD/NCONC
Поэтому я пытаюсь сделать так, чтобы функция брала список и переворачивала его, но я не уверена, как бы использовать RPLACA/RPLACD/NONC, По сути, делает то же самое, что и наоборот, но использует узлы минусов исходного списка и не выделяет никаких у…
17 фев '15 в 04:18
1
ответ
Извлечение узлов образуют точечный список (ребра) в CLISP
Я "ноль" или () в мире Лисп.Я хотел получить список всех узлов в списке краев и написал код для решения этой проблемы. Но я столкнулся с неожиданной проблемой. (Коды из "Лиспской земли" - глава 8) ;; Creating edge list (defun random-node () (1+ (ran…
26 янв '15 в 02:43
2
ответа
Путаница с лиспом "if" и команда "cons"
Я читаю Land of Lisp Конрада Барского, и я немного запутался в использовании команды if (если назвать несколько).. Итак, я понимаю, что запись if '() означает, что список пуст, а условие ложно, а если'(1) означает, что список не пуст, а условие исти…
22 май '14 в 06:39
3
ответа
Как работает лямбда-функция в lisp?
В книге Land of Lisp я прочитал, что лямбда-функция является единственной встроенной функцией. Однако я не совсем понимаю, как это возможно, потому что я думал, что вам, по крайней мере, понадобится одна команда для сложения, одна для сравнения чисе…
03 янв '12 в 16:48
1
ответ
Функция make-city-edge в игре Wumpus вызывает переполнение кучи
Просматривая книгу о Лиспе, я смог добраться до игры Grand Theft Wumpus, в которой я определил make-city-edges функция. Однако, когда я пытаюсь запустить его, SBCL на некоторое время зависает, прежде чем выдает мне очень неприятную ошибку: Heap exha…
12 апр '15 в 13:26
1
ответ
Разбиение функции на несколько строк
Вот некоторый исходный код для примера из удивительной книги "Земля Лисп": (defun random-node () (1+ (random *node-num*))) (defun edge-pair (a b) (unless (eql a b) (list (cons a b) (cons b a)))) (defun make-edge-list () (apply #'append (loop repeat …
18 ноя '10 в 01:36
2
ответа
Устранение моего явного состояния, проходящего через лайки, монады и прочее
Я работаю над книгой Land of Lisp на F# (да, странно, я знаю). Для своего первого примера текстового приключения они используют мутацию глобальной переменной, и я бы хотел ее избежать. Моя монад-фу слаба, поэтому сейчас я делаю ужасное состояние, ка…
03 мар '11 в 18:00
4
ответа
Понимание режима данных в Лиспе, почему эти выражения не совпадают?
В настоящее время я читаю "Земля Лисп". В одном из последних примеров кода автор дал: > (eq 'fooo 'FoOo) T доказать, что символы не чувствительны к регистру. Через несколько страниц официально введен режим данных. Однако я не могу понять следующе…
01 дек '13 в 14:12