Функциональный апартеид
http://udpn.livejournal.com/78084.html?style=mine
Обычно говорят, что нормальный порядок редукции нужен для того, чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно. Само по себе это никому не нужно. Дело именно в отложенном вычислении аргументов. Чтобы определить управляющие конструкции в языке с аппл. порядком редукции, нужно это делать явно, и их можно ввести только конечное число на этапе разработки языка. С нормальным порядком мы имеем возможность определять новые конструкции в любом количестве.
Всех, кто ничего не понял - отправить в индию и бангладеш, купаться в ганге и поклонятся коровам.
Обычно говорят, что нормальный порядок редукции нужен для того, чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно. Само по себе это никому не нужно. Дело именно в отложенном вычислении аргументов. Чтобы определить управляющие конструкции в языке с аппл. порядком редукции, нужно это делать явно, и их можно ввести только конечное число на этапе разработки языка. С нормальным порядком мы имеем возможность определять новые конструкции в любом количестве.
Всех, кто ничего не понял - отправить в индию и бангладеш, купаться в ганге и поклонятся коровам.
no subject
no subject
http://xoposhiy.livejournal.com/88565.html
Ключевой момент - возможность расширять/реализовывать некоторые конструкции, не меняя компилятор языка - без этого начинается всякий закат солнца вручную.
Впрочем, иногда бывает так, что вроде как бы и можно все делать, но выглядит это при реализации так, что лучше бы этого не было :)
no subject
Я, честный труженик села
с полным ртомполными руками навоза, протестую!no subject
no subject
no subject
Я думаю, ребе М тут со мной согласен.
no subject
no subject
(no subject)
no subject
no subject
no subject
И в окамле подобное решается без лентяйки -- достаточно написать camlp4-расширение (или, с новым подходом, который уже в транке, но ещё не в релизе, всего лишь функцию на 20 строк, что ещё проще).
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
Точнее, с помощью её разворачивания в комбинаторы. Чуть было не сделал, кстати, для одного варианта описания железа, где требовалось следить за количеством промежуточных проводов.
А далее можно и синтаксис с помощью квазиквотеров прикрутить, если надо усложнение работы.
Хотя я согласен, что DSL в Хаскеле слабоваты.
no subject
И даже в современных языках, все эти проблемы решаются ad hoc.
Вроде как, имеешь опыт работы с ленивостью — должен сообразить.
А не сообразил, и ВНЕЗАПНО, где-то-там у тебя прорвало — сам виноват.
Рассуждения о ресурсной семантике (не без помощи линейной логики!) нормализации в ламбда-исчислении приводят к оптимальной редукции, о которой немало писал
no subject
(no subject)
(no subject)
(no subject)
no subject
Под "оптимальностью" подразумевается минимальное количество вычислений согласно некоторому определению этого "количества"? Просто я не вижу причин уходить дальше редукции на графах, а они, судя по всему, есть (затраты памяти или на косвенность, не знаю).
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
(no subject)
no subject
no subject
no subject
в скале например можно создать неограниченное количество управляющих конструкций, несмотря на аппликативынй порядок редукции
no subject
(no subject)
(no subject)
no subject
:) Прапануеце яго эксгуміраваць і павезці купацца ў Гангу?
no subject
no subject
(no subject)
(no subject)
(no subject)
(no subject)
no subject
no subject
Поэтому, если язык представляет собой отображение на лямбду, то про редкуции и судят по лямбде или по graph-rewriting-системе.
Если подходить к вопросу с особенной выдумкой, то можно придумать исключение. Но вполне можно говорить, что трансляция в итоговую исполнительную машинку всегда происходит этапами.
Подобный вопрос вообще может иметь место довольно редко. Впрочем, даже и понятно, в каких случаях.
Что не так?
(no subject)
(no subject)