What is the methodology of creating GUI toolkits bindings with functional languages ?
I think I generally understand how one can create GUI toolkits bindings with procedural languages, and for this discussion I consider OO languages to be procedural.
Regarding the similarity between OO and procedural languages - my point is that both are state-friendly. I.e. it's not a problem to create an instance of the toolkit widget, and that widget instance keeps state.
If we look at pure functional languages, we do not have state (though we kinda have them through monads, don't we ?).
Anyway, I am interested to learn about the methodology of creating GUI toolkits bindings with/for functional languages and, specifically, about resolving the issue of instances/states.
Any pointers ? I can, of course, start digging into, say, Haskell for which, AFAIR, gtk+ has bindings, but I would like to first read something more abstract.
Thanks in advance.