ANN: The Disciplined Disciple Compiler - alpha 1

Hi All, I'm pleased to announce the initial alpha release of the Disciplined Disciple Compiler (DDC). Disciple is an explicitly lazy dialect of Haskell which includes: - first class destructive update of arbitrary data. - computational effects without the need for state monads. - type directed field projections. All this and more through the magic of effect typing. More information (and download!) available from: http://www.haskell.org/haskellwiki/DDC or http://code.google.com/p/disciple DDC: more than lambdas. Onward! Ben.

Am Donnerstag, 20. März 2008 07:09 schrieb Ben Lippmeier:
Hi All, I'm pleased to announce the initial alpha release of the Disciplined Disciple Compiler (DDC).
Disciple is an explicitly lazy dialect of Haskell which includes: - first class destructive update of arbitrary data. - computational effects without the need for state monads. - type directed field projections.
All this and more through the magic of effect typing.
More information (and download!) available from: http://www.haskell.org/haskellwiki/DDC or http://code.google.com/p/disciple
DDC: more than lambdas.
Onward! Ben.
Short question: Is it appropriate to put the homepage of a non-Haskell project on the Haskell Wiki? I mean, putting some basic info about such a project there and link to the project’s website might be okay and is already done in certain cases. But projects like Agda or Epigram typically don’t use haskell.org as a webspace provider and I think this is the way to go. What do others think? Best wishes, Wolfgang

On Mar 20, 2008, at 10:08 , Wolfgang Jeltsch wrote:
Am Donnerstag, 20. März 2008 07:09 schrieb Ben Lippmeier:
Hi All, I'm pleased to announce the initial alpha release of the Disciplined Disciple Compiler (DDC).
Short question: Is it appropriate to put the homepage of a non- Haskell project on the Haskell Wiki?
Depends on how closely related it is, i.e. could this be considered a testbed for stuff that might end up in a future ghc release? -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH

On Thu, 2008-03-20 at 15:08 +0100, Wolfgang Jeltsch wrote:
More information (and download!) available from: http://www.haskell.org/haskellwiki/DDC or http://code.google.com/p/disciple
DDC: more than lambdas.
Short question: Is it appropriate to put the homepage of a non-Haskell project on the Haskell Wiki? I mean, putting some basic info about such a project there and link to the project’s website might be okay and is already done in certain cases. But projects like Agda or Epigram typically don’t use haskell.org as a webspace provider and I think this is the way to go. What do others think?
I think it's fine. Agda and Epigram are not dialects of Haskell, DCC is. Also we tend to allow any project written in Haskell to use the haskellwiki, I don't see that compilers should be excluded. Duncan

g9ks157k:
Am Donnerstag, 20. März 2008 07:09 schrieb Ben Lippmeier:
Hi All, I'm pleased to announce the initial alpha release of the Disciplined Disciple Compiler (DDC).
Disciple is an explicitly lazy dialect of Haskell which includes: - first class destructive update of arbitrary data. - computational effects without the need for state monads. - type directed field projections.
All this and more through the magic of effect typing.
More information (and download!) available from: http://www.haskell.org/haskellwiki/DDC or http://code.google.com/p/disciple
DDC: more than lambdas.
Onward! Ben.
Short question: Is it appropriate to put the homepage of a non-Haskell project on the Haskell Wiki? I mean, putting some basic info about such a project there and link to the project’s website might be okay and is already done in certain cases. But projects like Agda or Epigram typically don’t use haskell.org as a webspace provider and I think this is the way to go. What do others think?
While YHC, lambdabot and xmonad do :) So I think the precedent has been that anything written in Haskell, or any Haskell-like compiler, can be happily hosted. -- Don

On Thu, 2008-03-20 at 09:20 -0700, Don Stewart wrote:
g9ks157k:
Am Donnerstag, 20. März 2008 07:09 schrieb Ben Lippmeier:
Hi All, I'm pleased to announce the initial alpha release of the Disciplined Disciple Compiler (DDC).
Disciple is an explicitly lazy dialect of Haskell which includes: - first class destructive update of arbitrary data. - computational effects without the need for state monads. - type directed field projections.
All this and more through the magic of effect typing.
More information (and download!) available from: http://www.haskell.org/haskellwiki/DDC or http://code.google.com/p/disciple
DDC: more than lambdas.
Onward! Ben.
Short question: Is it appropriate to put the homepage of a non-Haskell project on the Haskell Wiki? I mean, putting some basic info about such a project there and link to the project’s website might be okay and is already done in certain cases. But projects like Agda or Epigram typically don’t use haskell.org as a webspace provider and I think this is the way to go. What do others think?
While YHC, lambdabot and xmonad do :) So I think the precedent has been that anything written in Haskell, or any Haskell-like compiler, can be happily hosted.
My experience has been that the Haskell community is and has been very supportive of such projects, and most Haskellers would be more than happy to have such a project on the Haskell Wiki. Pugs started on the Haskell wiki.

Hi Wolfgang, Rest assured it really is a Haskell project. Apart from the way it does field projections, DDC will compile a significant number of Haskell programs with no modifications. Ben. On 21/03/2008, at 1:08 AM, Wolfgang Jeltsch wrote:
Short question: Is it appropriate to put the homepage of a non- Haskell project on the Haskell Wiki? I mean, putting some basic info about such a project there and link to the project’s website might be okay and is already done in certain cases. But projects like Agda or Epigram typically don’t use haskell.org as a webspace provider and I think this is the way to go. What do others think?
Best wishes, Wolfgang _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 3/20/08, Ben Lippmeier
Hi Wolfgang, Rest assured it really is a Haskell project. Apart from the way it does field projections, DDC will compile a significant number of Haskell programs with no modifications.
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

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 course!). 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. Ben.
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
participants (7)
-
Ben Lippmeier
-
Brandon S. Allbery KF8NH
-
Derek Elkins
-
Don Stewart
-
Duncan Coutts
-
Tim Chevalier
-
Wolfgang Jeltsch