On Fri, Sep 27, 2013 at 9:02 AM, Conal Elliott <conal@conal.net> wrote:
I'm polling to see whether there are will and expertise to reboot graphics and GUIs work in Haskell. I miss working on functional graphics and GUIs in Haskell, as I've been blocked for several years (eight?) due to the absence of low-level foundation libraries having the following properties:

[Disclaimer: In accordance with the principle that the amount that one speaks should be in proportion to the amount one knows, about GUI toolkits I should say nothing . Just offering my thoughts, more on the side of things I know -- programming languages and their history -- than not!]

When I first heard of perl (early 90s)  the claim was that the same language ran on Unix and DOS. I was incredulous. Implicitly I believed that the only program that could run unchanged on 'never-the-twain-shall-meet' territory was something that tended to the limiting the null program:
main() {}

What perl showed and the benchmark set for all the following scripting -- Ruby, Python etc -- revolution was that the old idea of C's portability had given way to a new one. In the C world portability meant simply passively avoiding non-portable features, in the new scripting world it meant actively writing bridge code to reunite gratuitous differences: eg the 'universal newline' in some languages like python.

In short: The C world had given up on portability.
The scripting language world chose to bite the bullet
That choice may be a bigger factor in their success than people realize.

So my point for the GUI question is this: In addition to Conal's list
 
* cross-platform,
* easily buildable,
* GHCi-friendly, and
* OpenGL-compatible.

there are two other current holy-grails to chase:

a. Browser-Desktop portability: eg pyjamas
http://en.wikipedia.org/wiki/Pyjamas_%28software%29

b. Touch devices allowing for 'Natural user interface'[1]: Generalizing the 40 year old mouse-model to modern touch devices eg
http://kivy.org/#home

How difficult/doable is this? As I said, I am too much of an ignoramus to know.

Hopefully the perl/scripting-language example will prompt more knowledgeable/capable persons to at least consider the possibility of chewing on a bullet…


[1] http://en.wikipedia.org/wiki/Natural_User_Interface


Rusi

--

http://blog.languager.org