Month: March, 2008

Субтитры к видео лекциям SICP

12 March, 2008 (23:23) | Видео | 17 comments

Я уже упоминал о замечательных видео лекциях по материалам курса “Структура и интерпретация компьютерных программ”. Лекции отлично дополняют текст книги и делают многие вещи более понятными. Смотреть их очень интересно. Для русскоязычного человека в них есть только один недостаток: они на английском языке, и у многих будут трудности с восприятием информации на слух. В связи […]

Решение упражнения 2.86 из SICP

7 March, 2008 (20:59) | Решения упражнений | 2 comments

Сказать, какой смысл определять комплексные числа с действительными и мнимыми частями, не являющимися действительными числами, мне трудно. Тем не менее, легко представить, что в системе существует несколько различных представлений действительных чисел (например, различающихся точностью и объемом требуемой памяти). В таком случае задача имеет смысл. Я не буду приводить весь код модифицированной системы, а просто укажу […]

Решение упражнения 2.85 из SICP

5 March, 2008 (21:09) | Решения упражнений | 12 comments

Определение операции проецирования project похоже на определение операции raise. Мы также вводим обобщенную операцию: (define (project x) (apply-generic ‘project x)) и добавляем в пакеты соответствующие строки, реализующие для каждого типа в башне проецирование на предыдущий: ;integer package ;rational package (define (rational->integer r)   (make-integer (round (/ (numer r) (denom r))))) (put ‘project ‘(rational) rational->integer) ;real […]

Решение упражнения 2.84 из SICP

4 March, 2008 (21:42) | Решения упражнений | 7 comments

Для простоты я буду рассматривать вариант приведения типов только для бинарных операций, который соответствует рассмотренному в основном тексте книги варианту apply-generic. Я модифицирую процедуру apply-generic следующим образом: если операции для двух аргументов заданных типов не нашлось, я сравню их типы. Если типы одинаковы, я попытаюсь поднять оба аргумента по башне типов и, если это возможно, выполнить […]

План лекций по SICP из Питера

2 March, 2008 (22:45) | Материалы, Преподавание | No comments

Евгений Кирпичев с февраля этого года читает в ИТМО СПбГУ спецкурс, основанный на книге и видео-лекциях “Структура и интерпретация компьютерных программ”. Планы своих лекций Евгений выложил в открытый доступ на вики питерской Haskell User Group. Пока что доступны две первые лекции: Лекция 1. Основы лямбда-исчисления и лиспа. Итерация и рекурсия. Лекция 2. Функции высшего порядка […]