Главная » Просмотр файлов » Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ

Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (1108516), страница 103

Файл №1108516 Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (Х. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ) 103 страницаХ. Абельсон, Дж. Дж. Сассман, Дж. Сассман - Структура и интерпретация компьютерных программ (1108516) страница 1032019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 103)

Эта операцияподобна унификации.Упражнение 4.77.В разделе 4.4.3 мы видели, что выражения not и lisp-value могут заставить язык запросоввыдавать «неправильные» значения, если эти фильтрующие операции применяются к кадрам снесвязанными переменными. Придумайте способ избавиться от этого недостатка. Одна из возможностей состоит в том, чтобы проводить «задержанную» фильтрацию, цепляя к кадру «обещание»провести ее, которое выполняется только тогда, когда связано достаточно переменных, чтобы операция стала возможна.

Можно ждать и проводить фильтрацию только тогда, когда выполнены всеостальные операции. Однако из соображений эффективности хотелось бы фильтровать как можнораньше, чтобы уменьшить число порождаемых промежуточных кадров.Упражнение 4.78.Перестройте язык запросов в виде недетерминистской программы, реализуемой интерпретаторомиз раздела 4.3, а не в виде процесса обработки потоков.

При таком подходе каждый запрос будетпорождать один ответ (а не поток всех возможных ответов), а пользователь может ввести tryagain и получить следующий ответ. Вы увидите, что существенная часть механизмов, которыемы построили в этом разделе, заменяется недетерминистским поиском и перебором с возвратами.Однако помимо этого, Вы обнаружите, что новый язык запросов отличается в тонких деталях поведения от реализованного нами в этом разделе. Можете ли Вы привести примеры, показывающиеэти отличия?Упражнение 4.79.Когда мы реализовывали в разделе 4.1 интерпретатор, мы видели, как можно избежать конфликтовмежду именами параметров процедур при помощи локальных окружений.

Например, при вычислении(define (square x)(* x x))(define (sum-of-squares x y)(+ (square x) (square y)))(sum-of-squares 3 4)4.4. Логическое программирование449не возникает смешения между x из square и x из sum-of-squares, поскольку тело каждойпроцедуры мы вычисляем в окружении, которое специально построено для связывания локальных переменных. В запросной системе мы избегаем конфликтов имен при применении правилс помощью другой стратегии. Каждый раз при применении правила мы переименовываем переменные и даем им новые имена, которые обязаны быть уникальными. Аналогичная стратегия винтерпретаторе Лиспа заключалась бы в том, чтобы отменить внутренние окружения и простопереименовывать переменные в теле процедуры каждый раз, как мы ее вызываем.Реализуйте для языка запросов метод применения правил, который использует не переименования, а окружения.

Рассмотрите, можно ли использовать Вашу систему окружений для построенияв языке запросов конструкций для работы с большими системами, например аналога блочнойструктуры процедур для правил. Можно ли связать это с проблемой ведения рассуждений в контексте (например: «Если бы я предположил, что истинно P , то я смог бы доказать A и B»)в качестве метода решения задач? (Это упражнение не имеет однозначного решения. Хорошийответ, скорее всего, мог бы служить темой диссертации.)ГЛАВА 5ВЫЧИСЛЕНИЯНА РЕГИСТРОВЫХ МАШИНАХМоя цель — показать, что небеснаямашина не некое божественное живоесущество, а скорее часовой механизм (атот, кто верит, что у часов есть душа,приписывает славу творца творению),поскольку почти все из еемногочисленных движений вызываютсяпростейшей материальной силой, так же,как все движения часов вызываютсявесом гири.Иоганн Кеплер(письмо к Герварту фон Гогенбургу, 1605)Эта книга начинается с изучения процессов и с описания процессов в терминахпроцедур, написанных на Лиспе.

Чтобы объяснить значение этих процедур, мы последовательно использовали несколько моделей вычисления: подстановочную модель из главы 1, модель с окружениями из главы 3 и метациклический интерпретатор из главы 4.Изучая последний, мы по большей части сняли покров тайны с деталей интерпретациилиспоподобных языков.

Однако даже метациклический интерпретатор оставляет многиевопросы без ответа, поскольку он не проясняет механизмы управления Лисп-системы.Например, интерпретатор не показывает, как при вычислении подвыражения удается вернуть значение выражению, это значение использующему, или почему одни рекурсивныепроцедуры порождают итеративные процессы (то есть занимают неизменный объем памяти), в то время как другие процедуры порождают рекурсивные процессы.

Эти вопросыостаются без ответа потому, что метациклический интерпретатор сам по себе являетсяпрограммой на Лиспе, а следовательно, наследует управляющую структуру нижележащей Лисп-системы. Чтобы предоставить более полное описание управляющей структурывычислителя Лиспа, нам нужно работать на более элементарном уровне, чем сам Лисп.В этой главе мы будем описывать процессы в терминах пошаговых операций традиционного<b>Текст обрезан, так как является слишком большим</b>.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6304
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее