SingHaskell 2007

News

Slides of talks are accessible via http://www.comp.nus.edu.sg/~sulzmann/singhaskell07/index.html

What is SingHaskell?

Sing(apore)Haskell is a Haskell (and related languages) meeting in Singapore. The meeting is organized by Tom Schrijvers ( Tom.Schrijvers@cs.kuleuven.be ) and Martin Sulzmann ( sulzmann@comp.nus.edu.sg ) and will be hosted by the National University of Singapore.

Date and location

Sing(apore)Haskell takes place on Wed 28 Nov 2007 (right before APLAS'07 http://flint.cs.yale.edu/aplas2007/). The meeting will be held on the National University of Singapore campus at COM1-02-VC (2nd floor video conference room, School of Computing) Further location details: http://www.comp.nus.edu.sg/aboutsoc/getting_to_soc_at_com1.htm http://www.comp.nus.edu.sg/corpcomm/location/maps.htm#com1 http://www.comp.nus.edu.sg/corpcomm/location/COM1_L2.htm The meeting starts at 9:30am and should end around 2pmish (with a lunch-break, on your own, in between)

Let Tom or Martin know if you are interested in coming. Either to attend the meeting or even give a talk.

Programme

9:30-9:55 Welcome, Quick intro to Haskell, Martin Sulzmann

10:00-10:25 First Class Constraint Programming in Haskell, Tom Schrijvers

We report on our Constraint Logic Programing framework for Haskell. The core concept of the framework is the search tree, which is explored by primitive search strategies. A primitive search strategy is defined by a queue datatype and can be extended by a search transformer. Moreover, multiple search transformers can be composed to obtain quite complex behavior. Note that our framework is generic in the underlying constraint solver, and in particular works for both backtracking and copying-based solvers.

10:30-10:55 Implementing STM in Concurrent Haskell, Frank Huch

Composable memory transactions are a new communication abstraction for Concurrent Haskell, which provides the programmer with a composable communication concept. Unfortunately, composable memory transactions are implemented as external functions for ghc and not available for other implementation of Concurrent Haskell.

We present an implementation of memory transactions within Concurrent Haskell. The library can be executed within older ghc versions as well as with the popular Hugs system. Benchmarks show, that our library performes well. Furthermore, our (high-level) implementation can be extended and maintained more easily than the low-level implementation provided by ghc.

11:00-11:25 Rule-based concurrent programming in Haskell, Edmund Lam

We report some preliminary results on integrating Constraint Handling Rules (CHR) into Haskell to support concurrent programming. CHR is rule-based language to describe concurrent transformations (rewritings) among multi-sets of constraints (atomic formulae). We give programming examples to explore the power of our extension and relate it to languages based on the join calculus. We have implemented a prototype in STM Haskell. Experimental results show that we can achieve significant speed-ups on multi-core architectures (more cores = programs runs faster).

11:30-11:55 XHaskell - Adding regular expression types to Haskell, Kenny Lu

We present an extension of Haskell, baptized XHaskell, which combines parametric polymorphism, algebraic data types and type classes found in Haskell with regular expression types, subtyping and regular expression pattern matching found in XDuce. We give programming examples and report on the current implementation status.

12:00 - 12:25 Static Contract Checking for Haskell, Dana Xu

Program errors are hard to detect and are costly both to programmers who spend significant efforts in debugging, and to systems that are guarded by runtime checks. Static verification techniques have been applied to imperative and object-oriented languages, like Java and C#, but few have been applied to a higher-order lazy functional language, like Haskell. In this talk, I shall describe a sound and automatic static verification tool for Haskell, that is based on contracts and symbolic execution. Our approach gives precise blame assignments at compile-time in the presence of higher-order functions and laziness.

12:30 - 13:20 Lunch break

13:30 - 13:25 Functional dependencies versus type functions and beyond, Martin Sulzmann

Details tba announced later.

13:30-13:55 Bernd Brassel

Something on Curry/Erlang? Details tba announced later.

14:00-14:25 Hunting Comonads, Kim-Ee Yeoh

Comonads are dual to monads, but there are far more monads than their less glamorous twin. We use Haskell to search for more comonads, using the comonadic associative law as a starting point. Counterintuitively, the results suggest that comonads are more populous than monads.

15:00 - 16:30 Zhong Shao's CS dept/SingHaskell invited talk

16:30 - 18:00 discussion session

Change in venue: COM1/240

Participants

  1. Dana Xu (Cambridge University)
  2. Kenny Lu (NUS)
  3. Edmund Lam (NUS)
  4. Frank Huch (Uni Kiel)
  5. Bernd Brassel (Uni Kiel)
  6. Razvan Voicu (NUS)
  7. Florin Craciun (NUS)
  8. Alexander Arul (Singapore Ruby Brigade)
  9. Ludovic Coquelle
  10. Martin Sulzmann (NUS)
  11. Tom Schrijvers (KULeuven)
  12. Peter Van Weert (KULeuven)
  13. Nick Palevsky
  14. Kim-Ee Yeoh (University of Wisconsin)

TaichiWiki: SingHaskell2007 (last edited 2007-12-05 10:44:28 by MartinSulzmann)