An overview of larger-scale projects

 

Functional Programming in Haskell
3rd CCSC Northwest Conference • Fall 2001

An overview of larger-scale projects
bullet The Haskore music system (and other DSLs)
Paul Hudak at Yale has defined a powerful language for describing musical structures in abstract terms based on Haskell (see the Haskore Project website)

In general, Haskell's abstraction features make it ideal for defining domain-specific languages as Haskell libraries

Control bar


















































 

Functional Programming in Haskell
3rd CCSC Northwest Conference • Fall 2001

An overview of larger-scale projects
bullet The Haskore music system (and other DSLs)
bullet The Fran and Pan graphics projects
Conal Elliott at Microsoft Research has developed a couple of libraries, Fran and Pan, which allow a very high-level way to specify complex graphics, animations and interactive animations

In Fran, for example, an interactive, single-player "Pong" game can be written in less than 20 lines, using concepts such as integration to express the relationship between velocity and position

Control bar


















































 

Functional Programming in Haskell
3rd CCSC Northwest Conference • Fall 2001

An overview of larger-scale projects
bullet The Haskore music system (and other DSLs)
bullet The Fran and Pan graphics projects
bullet GUI projects
A number of graphical user interface libraries are listed on the Haskell home page, ranging from low-level interfaces to traditional C libraries, to high-level, purely-functional characterizations

(see the GUI library section of the Haskell homepage for more details

Control bar


















































 

Functional Programming in Haskell
3rd CCSC Northwest Conference • Fall 2001

An overview of larger-scale projects
bullet The Haskore music system (and other DSLs)
bullet The Fran and Pan graphics projects
bullet GUI projects
bullet The Galois Connections ray-tracer
Every year the International Conference on Functional Programming holds a 72-hour "challenge problem" contest; last year's problem involved writing a 3-D ray-tracer which compiles a scene-description language into rendered output

a local team from Galois Connections managed to achieve 2nd-place standing for their entry

Control bar