
--- Axel Simon
I assume everybody is on holiday,
just a mail to keep the discussion on the core functionality going. So far it seems that we would like the following features:
a) mandatory arguments
Can someone give me an example where mandatory arguments are required for a GUI toolkit? Right now, I can't think of any attributes that couldn't have reasonable defaults.
b) read-only arguments
I'm assuming that these are things like getting a button's pixel width and height, which are a function of its contents.
c) write-only arguments
I can't think of any widgets that could utilize this in an elegant way. Perhaps the callback list?
d) setting a property and getting a result
This would be most useful for setting callbacks and returning the removeHandler. Is there any other place where this would be useful? Perhaps this is a special case?
Regarding the unregister callback issue, I thought of the following: Maybe we can have the set function just taking one argument:
set button $ on click =: messageBox "hi there"
since there is no character savings between the above and set button [on click =: messageBox "hi there"] I would vote against it. I would rather make onClickH a seperate function that returns the unregister function. removeHandler <- onClickH button (messageBox "hi there") On another note, I want to point out the difference between using onClick and "on click". What are the benefits of using the second, more verbose, form? It is, IMHO, more confusing that the other version. David J. Sankel