Difference between revisions of "DDC/FurtherReading"

From HaskellWiki
< DDC
Jump to navigation Jump to search
Line 5: Line 5:
 
* [http://cs.anu.edu.au/people/Ben.Lippmeier/project/witness/witness-aplas2009-sub.pdf Witnessing Purity Constancy and Mutability] ''Ben Lippmeier'', Submitted to APLAS 2009.
 
* [http://cs.anu.edu.au/people/Ben.Lippmeier/project/witness/witness-aplas2009-sub.pdf Witnessing Purity Constancy and Mutability] ''Ben Lippmeier'', Submitted to APLAS 2009.
   
== Related Systems ==
+
== On the development wiki ==
  +
  +
* [http://trac.haskell.org/ddc/wiki The Development Wiki]
  +
* [http://trac.haskell.org/ddc/wiki/Language Language Grammar]
  +
  +
== Related systems ==
   
 
The Disciple type system is a combination of several existing systems that have been around for some time.
 
The Disciple type system is a combination of several existing systems that have been around for some time.

Revision as of 23:39, 24 June 2009

Introductions

On the development wiki

Related systems

The Disciple type system is a combination of several existing systems that have been around for some time.

For region typing:

Note that DDC uses regions to track mutability of objects, not to manage allocation.

  • A Region Inference Algorithm, Mads Tofte and Lars Birkedal, ACM Transactions on Programming Languages and Systems, Vol 20, No 5, July 1998

For effect typing:

This is where DDC gets is namesake.

  • The Type and Effect Discipline, Jean-Pierre Talpin and Pierre Jouvelot, Seventh Annual IEEE Symposium on Logic in Computer Science, Santa Cruz, California, 1992

For closure typing:

Closure typing was originally intended for O'Caml, but was not fully implemented as it was thought to complicate the interface files too much. In Haskell and Disciple you don't have to write your own interface files, so this isn't a problem.

  • Polymorphic type inference and assignment. Xavier Leroy and Pierre Weis, Proc 18th Symp. Principles of Programming Languages, 1991.

For the region/effect/closure class system:

The DDC core language uses witnesses to mutablity and constness of regions, purity of effects and emptiness of closures. These witnesses are managed in much the same way as the type equality witnesses in System-Fc, which is where I got the idea from.

  • System F with Type Equality Coercions, Martin Sulzmann, Manuel Chakravarty, Simon Peyton-Jones, International Conference on Functional Programming, 2006.

Talks about Disciple: