
--- Nick Name
===== 2. How is a widget created? Everyone seems to agree on
createSomething :: SomethingConfiguration -> IO Something
notice how readable is
runGUI (window (vBox [label "Hello World!",w])
This is a very cool idea. I do think it is a bit on the Fudgets (experimental) side of things though. For CGA I would probably lean against such an idea since it hasn't be practically proven. I'm not sure how often I would use this in my day-to-day gui coding. I do really like the idea of "lazily" creating widgets as it is much in the spirit of haskell ;-).
- We could have two constructors for a button, one "a la GIO" and one with standard function syntax, wich is more readable in some cases. Example:
button "Hi all"
versus
button [label=:"Hi all"]
Although the GOI Attributes are extremely verbose in comparison to the standard functional syntax, I see them to be superior in many ways: those unfamiliar with CGA would have a much better time picking up the syntax, and it also shows itself to be an improvement of the Object Oriented style of default parameters.
- We need to consider the loading from resource files as a constructor, not everything is pragmatic. I think this is not a big
I personally think this is out of scope for an initial release of CGA, but this is most definitely something to keep in mind. You've got some very interesting ideas, I hope you continue to participate in this group. David J. Sankel