Публикации по теме 'sicp'
SICP в elisp: 1.1.1 Выражения
Одним из простых способов начать программирование является изучение некоторых типичных взаимодействий с интерпретатором диалекта Scheme языка Lisp. Представьте, что вы сидите за компьютерным терминалом. Вы вводите выражение, а интерпретатор отвечает, отображая результат вычисления этого выражения.
Одним из видов примитивного выражения, которое вы можете ввести, является число. (Точнее, выражение, которое вы набираете, состоит из цифр, представляющих число по основанию 10.) Если вы..
Вопросы по теме 'sicp'
Каково объяснение упражнения 1.6 в SICP?
Я только начинаю работать с SICP (самостоятельно, это не для класса), и я несколько дней бился с Упражнением 1.6, и я просто не могу понять это. Это тот, где Алисса переопределяет if в терминах cond , например:
(define (new-if predicate...
10304 просмотров
schedule
08.04.2022
Создайте полиномиальный объект из числа, используя класс изменения
Я написал полиномиальный класс в соответствии со строками, описанными в SICP 2.5.3 (за исключением использования defclass). Я хотел бы иметь возможность легко складывать и умножать многочлены и обычные числа, но я не могу заставить класс изменения...
504 просмотров
schedule
03.06.2022
Проблемы Dr Racket с SICP
Я работаю через SICP. В настоящее время в первой главе у меня возникают проблемы с тем, чтобы Racket позволил мне переопределить «примитивы». Например, у меня сложилось впечатление, что я могу произвольно выполнить (define + 5) , и это было бы...
10710 просмотров
schedule
24.04.2022
Нетерпеливая оценка/прикладной порядок и ленивая оценка/нормальный порядок
Насколько я знаю, активная оценка/применительный порядок оценивает все аргументы функции перед ее применением, с другой стороны, ленивая оценка/нормальный порядок оценивает аргументы только тогда, когда это необходимо.
Итак, в чем разница между...
4939 просмотров
schedule
10.11.2022
Почему apply так важно для оценщика lisp?
Я прочитал главу 4 SICP и только что обнаружил, что в первом разделе перечислены наиболее важные функции для реализации оценщика, eval и apply , я понимаю, что eval очень важен, но почему apply так важен? Для некоторых языков полностью...
1866 просмотров
schedule
19.02.2023
Упражнение SICP 3.8 - Почему процедура работает? (думаю дело в экологии)
Упражнение 3.8 в SICP описывается как удар:
Когда мы определяли модель вычисления в разделе 1.1.3, мы говорили, что первым шагом в вычислении выражения является вычисление его подвыражений. Но мы никогда не указывали порядок, в котором должны...
744 просмотров
schedule
21.12.2022
Выполнение программ LISP в GNU Emacs
В последнее время я учился использовать GNU Emacs и довольно заинтересовался использованием того же текстового редактора, что и мой текстовый редактор, для замены текстовых редакторов в моей Linux Mint Olivia. Я также смотрел видеоролики...
884 просмотров
schedule
07.08.2022
Почему я не могу найти форму `when` при использовании neil / sicp?
Я решал упражнение 3.23 из раздела 3.3.2 протокола SICP , который представляет собой реализацию deque.
Поскольку Racket не поддерживает set-car! и set-cdr! ,, я использую #lang planet neil/sicp из Поддержка SICP для DrRacket , и написал...
145 просмотров
schedule
05.12.2022
Маленькие языки, похожие на язык изображений в SICP
Раздел 2.2.4 SICP описывает небольшой "язык изображений" для создания сложных шаблонов изображений. Язык определяет один примитив painter для рисования изображения в заданном кадре и функции для преобразования и комбинирования painters для...
256 просмотров
schedule
21.09.2022
SICP cons-поток
относительно SICP 3.5
моя собственная реализация выглядит следующим образом
(define (delay exp) (lambda () exp))
(define (force delayed-obj)
(delayed-obj))
(define (cons-stream a b) (cons a (delay b)))
(define (stream-car stream) (car...
1702 просмотров
schedule
05.10.2022
что не так в этой схеме кода?
Я изучаю sicp. это вопрос ex 1.3. Я не могу понять, почему этот код является проблемой. помогите пожалуйста .. ТТ
вот код.
(define (test a b c)
(cond ((and (< a b) (< a c)) (+ (* b b) (* c c))
(and (< b a)...
1280 просмотров
schedule
05.07.2023
Что такое фиксированная точка?
Я пересматриваю некоторые из предыдущих лекций по SICP . Меня немного смущает понятие фиксированной точки. Процедура фиксированной точки: должен ли я думать об этом таким образом, «это способ найти фиксированную точку данной функции». Итак, f(2)...
862 просмотров
schedule
15.07.2022
Три вопроса w.r.t. модель среды оценки
Я читаю книгу SICP здесь об императивной модели программирования. Я не смог понять иллюстрацию в двух пунктах:
В.р.т. стрелка от square к «паре» (два круга): что означает эта стрелка? Хотя в этом разделе стрелка означает «окружающая...
308 просмотров
schedule
13.12.2023
SICP, стиль прохождения продолжения и батут Clojure
Я работаю с SICP, и упражнение 2.29-b дало мне возможность повеселиться со стилем передачи продолжений при обходе мобильных и ответвлений.
Короче говоря, у каждого мобильного телефона есть левая и правая ветви, которые состоят из длины и либо...
947 просмотров
schedule
16.05.2023
отличия аппликативного порядка/вызова по значению и нормального порядка/вызова по имени
Задний план
Я изучаю sicp по онлайн-курсу и запутался в его конспектах лекций. В конспектах лекций аппликативный порядок, похоже, равен cbv, а нормальный порядок — cbn.
Спутанность сознания
Но в вики указано, что помимо порядков оценки...
1244 просмотров
schedule
09.07.2023
Является ли num связанной переменной или свободной?
def function()
num = 1
num += 1
return num
Является ли num связанной переменной или свободной?
P.S. Этот код написан на питоне. Там нет прежнего кода впереди этого.
91 просмотров
schedule
22.12.2022
в чем разница между (определить (добавить x y) (+ x y)) и (определить добавить (лямбда (x y) (+ x y)))?
Сейчас я пишу интерпретатор схемы с помощью С++. У меня вопрос по поводу определения и лямбда.
(define (add x y) (+ x y))
расширяется как
(define add (lambda (x y) (+ x y)))
по lispy.py
какая разница между этими двумя...
157 просмотров
schedule
23.06.2022
Потоки SICP как сигналы в Python
Я нашел несколько хороших примеров ( здесь , здесь ) реализации потоков, подобных SICP, в Python. Но я все еще не уверен, как обращаться с примером, подобным integral , найденному в SICP 3.5.3 " Потоки как сигналы ."
Найденный там код схемы...
286 просмотров
schedule
05.04.2023
Итерационная программа для добавления списков в схему
Я читаю раздел 2.2 в SICP, где в книге представлена процедура добавления двух списков. Я пытаюсь реализовать добавление с помощью итерации.
Это мой код:
(define (append list1 list2)
(define (append-iter item1 reversed-item1 result)
(if...
243 просмотров
schedule
06.12.2022
Почему (c1) возвращает 1, 2, 3 и т. д., а не #‹procedure:make_counter.rkt:8:5›?
Это из курса SICP для раздела модели окружающей среды:
(define make-counter
(lambda (n)
(lambda () (set! n (+ n 1))
n)))
Ниже интерпретатор говорит, что (make-counter 0) — это процедура:
>...
105 просмотров
schedule
09.03.2023