This is a fairly vague and open ended question, but hopefully someone can still provide some insight.
I am using GTK (through Gtk2Hs with Haskell via GHC) and I am wondering if there is any general advice for handling events. I am used to keeping system components loosely coupled (from OO practice) and this extends to the event model. I want to know if there any patterns of design that can be used to handle/re-fire/propogate events etc. in both Gtk or Haskell that keeps the inter-module/function dependency low.
Thanks.