Описание тега the-little-schemer

**The Little Schemer**, a book on recursive programming by Daniel P. Friedman and Matthias Felleisen
1 ответ

Опытный интриган: Intersectall (стр. 49)

На странице 49 "Закаленного мошенника" я не могу понять, что происходит в следующем коде (строки 14–16): (define intersectall (lambda (lset) (letcc hop (letrec ((A (lambda (lset) (cond ((null? (car lset)) (hop '())) ((null? (cdr lset)) (car lset)) (…
0 ответов

Max-lisp-eval-глубина в многозначной функции

В четвертом издании книги "Маленький интриган", в главе 8 есть функция "multirember & co", я сделал это на языке "emacs lisp", что привело к следующей проблеме: Emacs: вложение превышает `max-lisp- Eval-глубина (defun multirember&co (a lat col) …
26 июл '17 в 02:47
2 ответа

Схема: почему здесь нужно использовать cond?

Я пытался написать (простой, т.е. без eqan?) one? функционировать так: (define one? (lambda (n) ((= 1 n)))) Но вышеупомянутое не работает, хотя, потому что, когда я называю это так: (one? 1) Меня приветствуют с этой ошибкой: procedure application: e…
28 дек '09 в 21:36
1 ответ

Маленький интриган: `lat?` Без `cond`?

Один из первых вопросов во второй главе The Little Schemer (4-е издание) просит читателя написать функцию lat?, где (lat? l) возвращает true, если l это список атомов. Это говорит: От вас еще не ожидали, что вы сможете это сделать, потому что вам вс…
12 ноя '17 в 19:18
3 ответа

Сгладить список, используя только формы в "The Little Schemer"

Я прохожу "Маленький мошенник", чтобы выучить "Схему" (как старый программист на Си), и в качестве упражнения я попытался написать процедуру для выравнивания списка, используя только формы в "Маленьком шеймере"; То есть, define, lambda, cond, car, c…
05 сен '11 в 23:29
2 ответа

Маленький предатель "S-выражение"

Is it true that this is an S-expression? xyz спрашивает Маленький интриган. а как проверить? синтаксически я получаю, как проверить другие утверждения, такие как > (atom? 'turkey) а также > (list? '(atom)) не совсем уверен, как это проверить..…
2 ответа

Little Schemer: напишите функцию, которая поддерживает только списки длиной ≤ 2

В книге "Маленький интриган" мы находим эту функцию, которая поддерживает только списки с длиной, меньшей или равной 1: (((lambda (mk-length) ; A. (mk-length mk-length)) (lambda (mk-length) (lambda (l) (cond ((null? l ) 0) (else (add1 ((mk-length et…
2 ответа

Рекурсия по списку s-выражений в Clojure

Чтобы установить контекст, я нахожусь в процессе изучения Clojure и разработки Lisp в более общем плане. На моем пути к Лиспу я в настоящее время прорабатываю серию "Little", чтобы укрепить основы функционального программирования и рекурсивного реше…
1 ответ

Маленькая ошибка drracket не может ссылаться на идентификатор перед его определением

Вопрос для новичка, только что запустил небольшую книгу о программистах и ​​установил DrRacket на мой macbook, чтобы попробовать некоторые примеры кода. Если я выберу язык ракетки, следующий код #lang Racket (define (atom? x) (and (not (pair? x)) (n…
07 июн '18 в 04:58
1 ответ

Какое руководство я должен получить от сдвига, выравнивания и тасования?

В начальной части главы 9 в "Маленьком интриганке" есть несколько примеров, таких как просмотр, сдвиг, выравнивание и случайное перемешивание, (define looking (lambda (a lat) (keep-looking a (pick 1 lat) lat))) (define shift (lambda (pair) (build (f…
02 июл '12 в 11:12
4 ответа

Реализация схемы - что это значит?

Я начинающий студент в CS, и мои занятия в основном на Java. В настоящее время я изучаю "Маленького Схемера" для самостоятельного изучения, и в процессе выяснения, как это сделать, я нашел многочисленные ссылки на "реализации" Схемы. У меня вопрос, …
04 мар '10 в 09:24
2 ответа

Маленький интриган: что такое структура функции или аргумента?

В главе 3 "Маленького планировщика" ответ на вопрос о том, почему мы не упрощаем сразу функцию "Рембер", заключается в том, "что тогда структура функции не совпадает со структурой ее аргумента". У меня возникают проблемы с пониманием структуры функц…
2 ответа

Механизм анонимной функции для вызова себя в Scheme?

Я читаю The Little Schemer и смущаюсь из- за следующего кода: ((lambda (len) (lambda (l) (cond ((null? l) 0) (else (+ 1 (len (cdr l))))))) eternity) (define eternity (lambda (x) (eternity x))) Код должен определить пустой список, иначе он никогда не…
7 ответов

Что такое "(апостроф) в Лиспе / Схеме?

Я в 1-й день 1-го часа учу себя Схеме. Само собой разумеется, я ничего не понимаю. Итак, я читаю "Маленький мошенник" и использую эту вещь: http://sisc-scheme.org/sisc-online.php как переводчик. Мне нужно использовать ' например (atom? 'turkey) чтоб…
08 окт '09 в 16:58
1 ответ

Как сделать это length≤1 более одного раза?

Я провел день, читая страницу 166 length≤1 в книге "Маленький интриган"; есть следующий код: (((lambda (mk-length) (mk-length mk-length)) (lambda (mk-length) (lambda (l) (cond ((null? l) 0) (else (add1 ((mk-length eternity) (cdr l)))))))) l) где l я…
1 ответ

Лучшая схема для Emacs и The Little Schemer?

Я пробовал Geiser, и я продолжаю получать это сообщение об ошибке: Unable to start REPL: Searching for program: permission denied, guile.exe Я на Windows 7, кстати. Кроме того, вот мой путь Гейзера в моем.emacs: (load-file "~/.emacs.d/elpa/geiser-20…
10 май '14 в 07:32
4 ответа

Маленькая интрижка только для вечеринок *&co

Я с трудом понимаю, что происходит с The Little Schemer's evens-only*&co пример на стр. 145. Вот код: (define evens-only*&co (lambda (l col) (cond ((null? l) (col '() 1 0)) ((atom? (car l)) (cond ((even? (car l)) (evens-only*&co (cdr l) …
3 ответа

Как понять это продолжение?

(let ([x (call/cc (lambda (k) k))]) (x (lambda (ignore) "hi"))) => "hi" Как я могу написать выполнение шагов этого продолжения?
01 июл '12 в 16:05
2 ответа

Little Schemer: зачем заключать (mk-length в mk-length) в функцию?

В книге "Маленький интриган", в главе 9, при создании length Для произвольного длинного ввода предлагается следующее (на страницах 170-171), что приведено в следующем фрагменте кода (на самой странице 168): ((lambda (mk-length) (mk-length mk-length)…
1 ответ

Некоторые функции не загружаются в репл

Работая через Little Schemer, мы должны определить несколько наших собственных функций. Я определил их, только add1 и sub1 появляются в repl после его загрузки. Я использую Racket v7.0. #lang racket (provide atom? add1 sub1) (define atom? (lambda (x…
29 июл '18 в 08:57