From: Conal Elliott
To: haskell@haskell.org
Sent: Tuesday, December 12, 2006 7:17 AM

GUIs are usually programmed in an "unnatural" style, in that implementation dependencies are inverted, relative to logical dependencies. This reversal results directly from the imperative orientation of most GUI libraries. While outputs depend on inputs from a user and semantic point of view, the imperative approach
imposes an implementation dependence of inputs on outputs.

Hi,
This looks really interesting, but I'm struggling to understand what you mean by "reversal". Can you elaborate on what you mean by "the imperative approach imposes an implementation dependence of inputs on outputs." In the model-view-controller pattern for example, I see no such reversal.

Also, suppose you have a gui consisting of an edit widget such that when the user types something it gets lexed, parsed, and fontified as a Haskell program, ie from the user's point of view the widget maintains a syntax highlighted view of the code which is "continuously" updated. Would your system do the lexing/parsing for every key that was pressed or only once, when the widget needs to be re-rendered (a typical gui for Windows would only propagate changes and re-draw the gui (ie lex/parse/fontify) when there are no event messages pending)?

In other words, does your system solve the problem of automatic caching of updates that would be solved in the imperative setting by the (admittedly rather messy) waiting for "nothing else happening"?

Regards, Brian.
--
http://www.metamilk.com
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to