Karl-Filip Faxén, KTH, Stockholm, Sweden
Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Simon Marlow
Martin Sulzmann, National University of Singapore
We discuss how to implement overloading in Chameleon. Chameleon is a Haskell-style language where dependencies among overloaded identifers are expressed in terms of Constraint Handling Rules (CHRs). Our implementation scheme for Chameleon is based on the well-known evidence translation scheme. The novelty of our approach is that evidence can be constructed out of CHR derivations. We describe in detail the evidence translation of Chameleon to the Hindley/Milner fragment of Haskell. Our translation scheme even applies to Haskell style type classes.
Manuel Chakravarty, University of New South Wales, Sydney
Jointly with Gabriele Keller
Doaitse Swierstra, Universiteit Utrecht, Utrecht, The Netherlands
Jointly with Atze Dijkstra
This talk gives an overview of UHC (the Utrecht Haskell Compiler) that is in the works, and tell something about the tools we use and the syntax-macro mechanism that comes with the tools “for free”.
Slides (PDF) Sample macro file
Daan Leijen, Universiteit Utrecht, Utrecht, The Netherlands
wxHaskell is a portable and native GUI library for Haskell. The goal of the project is to provide an industrial strength GUI library for Haskell, but without the burden of developing (and maintaining) one ourselves.
wxHaskell is therefore build on top of wxWindows -- a comprehensive C++ library that is portable across all major GUI platforms; including GTK, Windows, X11, and MacOS X. Furthermore, it is a mature library (in development since 1992) that supports a wide range of widgets with the native look-and-feel, and it has a very active community (ranked among the top 25 most active projects on sourceforge).
Introduced and chaired by Axel Simon, University of Kent, UK
Discussion summary by Axel Simon:
The development of Haskell applications with a graphical user interface has long been complicated by the large number of mostly incomplete libraries. In spring of this year people tried to focus the development effort and came up with the idea of a Common GUI API (CGA for short) which should define an intersection of three major platform APIs (Win32, Gnome/Gtk and Mac OS X) and that addresses the requirements of the platform's style guide (or human interface guidelines). The process of defining this CGA is a major undertaking. The alternative is to use a readily available cross-platform API, like wxWindows, at the expense of creating applications that might violate a platform's style guide and the cannot make use of platform specific functionality. A quick poll at the Haskell workshop revealed that 1/3 of the people thought that the CGA approach is worthwhile, 2/3 thought that the cross-platform approach is adequate. Hence the CGA idea as it stands right now will not be pursued.
The discussions at the Haskell Implementor Meeting (HIM) yielded some interesting options (or compromises) that could help to target and unify the development effort of the different library maintainers. In particular we would like to
In case people feel inclined to still pursue the CGA idea, one of the following two routes could be taken:
Please send any comments or critics to gui@haskell.org. All input (and development effort) is welcome.
Axel (on behalf of the GUI Task Force)
André Pang and Sean Seefried, University of New South Wales, Sydney
John Launchbury, OGI and Galois Connections, Oregon, USA
Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Simon Marlow
Indroduced and chaired by Wolfgang Thaller
Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Mark Shields
Slides (PDF) Paper and prototype implementation
Phil Trinder, Heriot-Watt University, UK
Jointly with Hans-Wolfgang Loidl, Robert Pointon,
and André Rauber Du Bois
Indroduced and chaired by Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Indroduced and chaired by Isaac Jones, Aetion Technologies LLC
André Pang, University of New South Wales, Sydney, Australia