Функциональный апартеид
Jul. 2nd, 2012 01:18 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://udpn.livejournal.com/78084.html?style=mine
Обычно говорят, что нормальный порядок редукции нужен для того, чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно. Само по себе это никому не нужно. Дело именно в отложенном вычислении аргументов. Чтобы определить управляющие конструкции в языке с аппл. порядком редукции, нужно это делать явно, и их можно ввести только конечное число на этапе разработки языка. С нормальным порядком мы имеем возможность определять новые конструкции в любом количестве.
Всех, кто ничего не понял - отправить в индию и бангладеш, купаться в ганге и поклонятся коровам.
Обычно говорят, что нормальный порядок редукции нужен для того, чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно. Само по себе это никому не нужно. Дело именно в отложенном вычислении аргументов. Чтобы определить управляющие конструкции в языке с аппл. порядком редукции, нужно это делать явно, и их можно ввести только конечное число на этапе разработки языка. С нормальным порядком мы имеем возможность определять новые конструкции в любом количестве.
Всех, кто ничего не понял - отправить в индию и бангладеш, купаться в ганге и поклонятся коровам.
no subject
Date: 2012-07-02 11:57 am (UTC)Под "оптимальностью" подразумевается минимальное количество вычислений согласно некоторому определению этого "количества"? Просто я не вижу причин уходить дальше редукции на графах, а они, судя по всему, есть (затраты памяти или на косвенность, не знаю).
no subject
Date: 2012-07-02 01:36 pm (UTC)Уходить от графо-редукции необязательно, хотя и codedot, в общем-то, это сделал для своей машинки — там он может и про память говорить.
А вот задаться вопросом, можно ли осуществить такую-то нормализацию более оптимально, чем в `ленивой` модели, очень даже можно. Мемоизация, это только одна из техник оптимизации, но есть и общий подход.
no subject
Date: 2012-07-02 02:21 pm (UTC)no subject
Date: 2012-07-02 06:13 pm (UTC)no subject
Date: 2012-07-02 09:09 pm (UTC)no subject
Date: 2012-07-03 11:49 am (UTC)http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.2386
Levy[4, 5] has shown that there are lambda expressions for which any order of reduction duplicates work. One
example is ...