[GUI] Proposal Proposal: haskell-gui addendum to haskell standard
Sengan.Baring-Gould@nsc.com
Sengan.Baring-Gould@nsc.com
Fri, 24 Jan 2003 16:17:49 -0500
Peter Achten wrote:
(that Sengan said:)
> "...the library designers never used their toolkits in larger
> applications..." True: I didn't, but other people have. Check out the
> CleanIDE (by Diederik van Arkel):
> http://www.cs.kun.nl/~clean/About_Clean/body_the_clean_ide/body_the_clean_ide.htm
> and the beautiful Sparkle Proof Tool (by Maarten de Mol):
> http://www.cs.kun.nl/~maartenm/Sparkle/
Actually I mentionned Object I/O as the only library with which larger scale
applications were written:
| Perhaps the best would be to use an Object-IO like interface
| with mvars as proposed by Simon Peyton-Jones, simply because it's
| higher level than raw gui-calls and the Clean folks have used
| it cross-platform in a few real apps.
------------------------------
Another misunderstanding I think:
> I don't agree with the "While programming at the IO level works, it does not
> give one much of an advantage versus programming in C". Many proposals have
> been written that make use of the elaborate type system of functional languages
> to glue correct GUI programs; many approaches use functional language features
> do construct well-typed and well-structured Domain Specific Languages.
By Programming at the IO level I meant stuff like:
win <- windowNew WindowDialog
windowSetTitle win "About BoolEd"
containerSetBorderWidth win 10
--
frame <- frameNew "The Boolean Editor"
frameSetShadowType frame ShadowEtchedOut
--
label <- labelNew "..."
labelSetLineWrap label True
labelSetJustify label JustifyFill
containerAdd frame label
--
but <- buttonNewWithLabel "Ok"
buttonSignalConnectObject but (ButtonClickedHandler widgetDestroy) win
--
box <- vBoxNew False 0
containerAdd win box
boxPackStart box frame True True 10
boxPackStart box but True False 10
Not the Object IO style of building a layout with :+: combinators.