[Haskell-cafe] ANN: The Disciplined Disciple Compiler - alpha 1

Ben Lippmeier Ben.Lippmeier at anu.edu.au
Thu Mar 20 19:34:59 EDT 2008

Hi Tim,
DDC doesn't aim for Haskell 98 compliance - its really a superset of a  
subset of it - but I've followed Haskell syntax and philosophy where  
ever possible. The compiler is written in Haskell and I want DDC to  
support as much of it as possible to make its eventual boot-strapping  
easier. There's much more common ground between Disciple and Haskell  
than say, ML and O'Caml, or Haskell and Clean.

Most of the expression syntax is there eg: function binding, lambdas,  
let, where, pattern matching, case expressions, pattern guards, data  
type definitions, class and instance definitions etc etc.

For the alpha version at least, the main deviations are:
  - dictionary passing is not finished.
  - you'll need to put region annots on recursive data type defs as  
the elaboration isn't quite finished.
  - it uses strict evaluation as default
  - field projections are different
  - no monadic desugaring in do notation.
  - no irrefutable patterns yet.

The rest is all Haskell 98 (minus all the effect typing extensions, of  

For the alpha2 release I'm hoping that most straight-up Haskell 98  
programs will compile with it after some cosmetic modifications:  
mostly adding the suspension operator where appropriate, and using the  
new field projection syntax.


> Can you elaborate on "a significant number of Haskell programs"? Do
> you expect that DDC can compile any Haskell (98?) program except some
> weird corner cases, or are you aware of a particular class of Haskell
> programs it currently can't compile?
> (I'm asking in order to find out whether DDC would potentially be
> useful for my work, not so as to question whether it should be on
> haskell.org (I don't care about that :-))
> Cheers,
> Tim
> -- 
> Tim Chevalier * http://cs.pdx.edu/~tjc * Often in error, never in  
> doubt
> "It's easy to consider women more emotional than men when you don't
> consider rage to be an emotion." -- Brenda Fine

More information about the Haskell-Cafe mailing list