Just wanted to make a note of one of the topics we talked about today
relating to GUI's:
1. GUI programming for Clojure (i.e. take advantage of Java libraries)
* Swing may be the first that pops in people's head, but you might
enjoy taking a look at some alternatives listed here:
http://leepoint.net/notes-java/GUI/misc/80gui-generator.html
* Swing, Qt, GTK, and Cocoa are mentioned in this thread:
http://news.ycombinator.com/item?id=350683
* Doing GUI's in Clojure:
http://stackoverflow.com/questions/233171/what-is-the-best-way-to-do-gui-in-clojure
* Stu Halloway talks about Java GUI's here as applied to "four
"Java.next" languages to demonstrate these concepts: Clojure, Groovy,
JRuby, and Scala":
http://blog.thinkrelevance.com/2008/8/12/java-next-2-java-interop
* The Clojure page on Java Interoperability:
http://clojure.org/java_interop
2. What would a GUI library written in functional style look like?
We talked about how GUI libraries seem to be written in OO style. I
was curious what a GUI library might look like for a functional
language.
I did a few pages of Googling and wanted to share some interesting
links. This one, "GUI Programming with Function Logic Languages",
seems to do a good job of talking about some of the things that Conrad
mentioned during our discussion:
http://web.cecs.pdx.edu/~antoy/Courses/TPFLP/lectures/GUI/slides.pdf
Here are some links relating to Java GUI's:
* "F3 - Functional GUI Development for Java" is blogged here with some
good comments:
http://lambda-the-ultimate.org/node/1832
* "F3 is now called JavaFX" -
http://blogs.sun.com/chrisoliver/entry/javafx#comments
And if you are interested in GUI libraries for other functional
languages:
* TkGofer, "a graphical user interface library ... It provides a
convenient way to develop window-based applications in the pure,
functional programming language Gofer [1], which is a subset of
Haskell."
http://www.springerlink.com/content/w4x210r557g6578m/
* "FranTk - a declarative GUI language for Haskell" might be of
interest:
http://portal.acm.org/citation.cfm?id=351250
-David