Hey all. I'm looking for hints on how to put GUIs together in Clojure. Any 
thoughts appreciated.

The two themes that stick out for me in Clojure are considered attention to 
the default data structures and the radical approach to minimising state. 
But it seems to me that GUIs are inherently stateful and I don't have a 
huge amount of faith that issues around data structures have been 
completely thought through. It particularly sticks out to me that Clojure 
itself hasn't taken a position on the subject and that the 'official' 
Clojure GUI language might actually be Swing or JavaFX. This would be in 
spite of the fact that those two both bring extremely stateful objects into 
the Clojure world that just don't sit very neatly with the apparent vision 
of the language.

So with this as my starting point; I don't think there is an official, 
idiomatic way to create a GUI. Can anyone point me in the direction of any 
authoritative recommendations (particularly academic literature) on how to 
balance GUI state and functional programming? I can tell if I have a GUI or 
not, but I'm looking for yardsticks to assess:
1) Is my toolkit introducing unnecessary state?
2) Am I introducing unnecessary state?
3) Are my models of inter-widget communication appropriate?

I know that MVC/MVMC/MVA/etc exist, but I don't know how to assess their 
merits against how Clojure wants me to work.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to