[Haskell-cafe] layout monads
drtomc at gmail.com
Tue Oct 3 22:34:41 EDT 2006
Next monad query.... [*]
In the 1995 paper "Composing Haggis", layout is done using a monad to
compose individual elements. To modernize the syntax consider (forgive
the operator, but it avoids parentheses):
infixl 1 <|
f <| x = f x
hbox <| do
It was nice, because you didn't need to worry about temporary
structures, variable names, and suchlike.
In the 1996 version of the paper, this silently changed to
o <- button "ok"
c <- button "cancel"
hbox [o, c]
Does anyone know why the change occurred? IMO, the former was much more elegant.
Also, assuming you want to use a different underlying monad (e.g. IO),
how would you implement a layout monad.
FWIW, I'm not actually interested in widgets per se, but in building
html pages in such a way that you can specify the style
elements/scripts with the code that creates the nodes of the document
tree, but serialize them separately.
* Maybe we need a haskell-monads at haskell.org list. On second thoughts,
no, because it would kill off the other mailingl lists. ;-)
More information about the Haskell-Cafe