metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-11-25 04:11 pm

И еще

Писать GUI на хаскеле - это все равно, что писать GUI на SQL.

Если обернуть фразу - то для того, чтобы сделать нормальный GUI фреймворк для хаскеля (а не сплошную имитацию императивщины на монадах), нужно представить GUI в декларативно-функционально-теоретико-множественном стиле :)

[identity profile] 1ceheart.livejournal.com 2008-11-25 06:38 pm (UTC)(link)
+1, но умение перерисовывать часть модели (и соответственно, знание того, какая часть была изменена) часто довольно важно, даже в вебморде, иначе никакого сервера не хватит. А если я 3D-чертеж на экране отображаю, то "перерисовать view" - это может вечность занять. Жизнь все-таки сложнее голых схем, но глобально, конечно, енаблить кнопку по нажатию другой кнопки не сильно кошерно :)

[identity profile] metaclass.livejournal.com 2008-11-25 07:45 pm (UTC)(link)
Я думал после того, как сделаю общую функциональность, оптимизировать это дело методом вычисления диффа между объектами, потом по этому диффу вычислить дифф для view объекта.
Но как всегда, сначала на это дело не хватило времени, а потом проект законсервировался, т.к. тендер выиграла другая контора :)

[identity profile] g-rub.livejournal.com 2008-11-25 10:31 pm (UTC)(link)
Ну как бы "сказать части view перерисовать себя" и "из напрямую из контроллера модифицировать отображение" -- две ооочень большие разницы.

:)

Потом другой контроллер модифицирует то же отображение по-своему, и дальше начнется, потом третий контроллер попробует эту кнопку "восстановить в исходную позицию" сообразно своей логике...

И готово.