ADT как панацея
Dec. 13th, 2012 03:56 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
http://juick.com/dmz/2163653
Алгебраические типы данных и сопоставление с образцом - то, чего дичайше не хватает в "мейнстримных языках".
В принципе, ничто не мешает закатить солнце вручную - например, написать мелкий кодогенератор, который будет из описания типа генерить код класса-типа и его наследников-вариантов и паттерн-матчинг на дельфи-C#-жабе-прочем. Но это элемент зла, проще уж F# использовать.
Алгебраические типы данных и сопоставление с образцом - то, чего дичайше не хватает в "мейнстримных языках".
В принципе, ничто не мешает закатить солнце вручную - например, написать мелкий кодогенератор, который будет из описания типа генерить код класса-типа и его наследников-вариантов и паттерн-матчинг на дельфи-C#-жабе-прочем. Но это элемент зла, проще уж F# использовать.
no subject
Date: 2012-12-13 01:18 pm (UTC)no subject
Date: 2012-12-13 01:53 pm (UTC)no subject
Date: 2012-12-13 02:04 pm (UTC)А про "мелкий кодогенератор" - идея хорошая.
Вот только потом будет постоянно хотется его (мелкого) раскормить до размеров Слона, запихать туда тайпчекер, оптимизатор посредством rewrite-rules, deforestation на их основе и т.д.
P.S. Когда смотрю на Хаскель, SQL Server (с его оптимизацией плана исполнения), DataFlow/MapReduce у современных вычислительных гридов, то понимаю, что в центре - одна и та же идея...