metaclass: (Default)
[personal profile] metaclass
http://udpn.livejournal.com/78084.html?style=mine
Обычно говорят, что нормальный порядок редукции нужен для того, чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно. Само по себе это никому не нужно. Дело именно в отложенном вычислении аргументов. Чтобы определить управляющие конструкции в языке с аппл. порядком редукции, нужно это делать явно, и их можно ввести только конечное число на этапе разработки языка. С нормальным порядком мы имеем возможность определять новые конструкции в любом количестве.

Всех, кто ничего не понял - отправить в индию и бангладеш, купаться в ганге и поклонятся коровам.

Date: 2012-07-02 11:25 am (UTC)
From: [identity profile] aamonster.livejournal.com
А что, это не одно и то же?

Date: 2012-07-02 11:29 am (UTC)
From: [identity profile] nivanych.livejournal.com
Что именно одно и тоже?...

Date: 2012-07-02 11:49 am (UTC)
From: [identity profile] aamonster.livejournal.com
"чтобы bottom в аргументе не превращался в bottom в результате всегда, когда это возможно", "отложенное вычисление аргументов" и возможность "определить управляющие конструкции"?

Ну, если вдаваться в тонкости - то разное (например, в Форте нет ленивости - но новые управляющие конструкции определяются свободно), но в контексте ФП...

Date: 2012-07-02 01:38 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Не одно и то же, конечно.
Всё это следует из ленивости, но не наоборот — есть и другие нормализующие стратегии, отложенность можно делать и по-другому, ровно как и определять управляющие конструкции.

Date: 2012-07-02 04:08 pm (UTC)
From: [identity profile] aamonster.livejournal.com
Ну да, но срабатывание всего этого "в лоб", из коробки - просто за счёт "вызова" функций...
(функция не наткнется на bottom в ненужных аргументах ~= функция не вычисляет свои аргументы раньше времени ~= можно сделать if просто функцией)
(конечно, для всех "~=" ещё куча условий, типа иммутабельности, карринга и т.п.)

Date: 2012-07-02 06:02 pm (UTC)
From: [identity profile] nivanych.livejournal.com
Ну и форт, это всё-таки, метапрограммирование.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2025 03:57 am
Powered by Dreamwidth Studios