svv

Out of the Tar Pit, FRP

Sep 19, 2009 02:18

(про программирование)
Недавно в рассылке clojure один человек задал вопрос, как лучше моделировать data associations. Мол, так пробовал, эдак пробовал - всё неудобно, научите меня, гуру, как это по-правильному, по-функциональному. На что функциональные гуру ему ответили: о-о, брат, это ты ему столкнулся с так называемой real world problem ;-)
Read more... )

Leave a comment

Comments 12

(The comment has been removed)

svv September 18 2009, 23:19:38 UTC
В двух словах идеи можно подытожить так:
1. Делим сложность на essential и accidental.
2. Essential логику выражаем чисто функционально и/или логически.
3. Essential state храним в таком виде, который естественно/удобно/просто подходит для п.2, т.е. реляционно (в коде изменения state будут запросы а-ля select/insert).
4. Accidental сложность (логику/state) реализуем как умеем, но максимально скрываем её под капотом, оставляя наверху декларативные ручки.

Пример с чем-то типа кода есть начиная со стр. 53, но вообще маловато, да.

Reply


ikm September 19 2009, 18:28:28 UTC
А это решает какую-нибудь real world problem? :)

Reply

svv September 19 2009, 18:35:58 UTC
;-)

Конечно. Уменьшение сложности.

Reply

ikm September 19 2009, 18:45:39 UTC
Да. И мне кажется, в данном случае эффект уменьшения сложности достигается сначала её повышением, а потом возвратом в очень простую rl ;)

Reply

svv September 19 2009, 19:41:05 UTC
Ты чего сказать-то хочешь? :-) Что нет такой проблемы как сложность программ, что тебе некоторые конкретные предлагаемые пути решения этой проблемы не нравятся (типа использования FP или реляционности), или что не нужно усложнять жизнь путём чтения статей?

Reply


Leave a comment

Up