HIM 2003: Slides and Notes

Modular cloning

Karl-Filip Faxén, KTH, Stockholm, Sweden

Slides (PS)


Push/enter vs. eval/apply

Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Simon Marlow

Slides (PDF) Paper


The implementation of overloading in Chameleon

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.

Slides (PS)


Type analysis with type classes

Manuel Chakravarty, University of New South Wales, Sydney
Jointly with Gabriele Keller

Slides (PS)


The Utrecht Haskell Compiler (UHC) and related tools

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


Demo: wxHaskell: a portable and native GUI library for Haskell

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).


Discussion: Haskell GUIs

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)


Experiences with Template Haskell

André Pang and Sean Seefried, University of New South Wales, Sydney

Slides (PDF)


Impromptu talk: Haskell on bare metal

John Launchbury, OGI and Galois Connections, Oregon, USA


Demo: Visual Studio

Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Simon Marlow

Slides (PDF)


Discussion: Concurrency and bound threads

Indroduced and chaired by Wolfgang Thaller

Slides (PDF)


Type inference for higher rank types

Simon Peyton-Jones, Microsoft Research, Cambridge, UK
Jointly with Mark Shields

Slides (PDF) Paper and prototype implementation


Implementing Parallel, Distributed and Mobile Haskells

Phil Trinder, Heriot-Watt University, UK
Jointly with Hans-Wolfgang Loidl, Robert Pointon, and André Rauber Du Bois

Slides (PS)


Discussion: Packages and module naming

Indroduced and chaired by Simon Peyton-Jones, Microsoft Research, Cambridge, UK

Slides (PDF)


Discussion: Library infrastructure

Indroduced and chaired by Isaac Jones, Aetion Technologies LLC

Slides (PS)


Demo: Mocha -- An Objective-C binding for Haskell

André Pang, University of New South Wales, Sydney, Australia

Slides (PDF)


Last updated 12 September 2003.