Wither Self (shortish)

Chris Pressey <>
Thu Sep 11 19:50:47 CEST 2003


On Thu, 11 Sep 2003 15:23:42 +0300 (EEST)
Taavi Talvik <> wrote:

> What about:
> 
> 	button_pressed(button_ID, [ListOfEventOptions],
> 	[ListOfUserParameters])
> 
> 	where
> 	ListOfEventOptions = [{parent_window, WinId}, {key,value},...]
> 	ListOfUserParameters = [{key,value},...]
> 
> this does not work for legacy code, but for general framework it is
> clear win.

Yes, that's especially good for interfaces - but again, it really
doesn't help this situation, because I'd have to encode the options list
and decode it again (with lists:keysearch/3, or proplists I suppose,)
and it's still two places in the source I have to change if something
changes, as opposed to zero.  And this way, the places are even larger.

Basically, defining my callbacks as funs within a main function is the
syntactically lightest choice for this task.  The only real drawbacks
are indentation, as Luke mentioned - and I use a conservative indenting
policy, so that's essentially not a problem for me - and the size of the
main function, which is easily mitigated by a folding editor like SciTE.

-Chris



More information about the erlang-questions mailing list