Readscheme.org

Mini-Bibliography on Modules for Functional Programming Languages

This mini-bibliography includes research related to module systems for functional programming languages. Various papers appear in multiple sections, in order to indicate what may be found in that paper.

This site is maintained by Jim Bender. Please send suggestions for additions to this site to editor@readscheme.org.

Phase Separation, "Language Towers", and Macros

Phase Separation and Types

Recursive Modules

  • Derek R. Dreyer, Robert Harper, and Karl Crary. "Toward a Practical Type Theory for Recursive Modules". Carnegie Mellon University. CMU-CS-01-112. March 2001. Available online: pdf. Citation.
  • Karl Crary, Robert Harper, and Sidd Puri. "What is a Recursive Module?". Programming Language Design and Implementation (PLDI'99). June 1999. Available online: ps. Citation.
  • Claudio V. Russo. "Recursive structures for standard ML". 2001 ACM SIGPLAN International Conference on Functional Programming. October 2001. Available online: ACM Digital Library. Citation.
  • Iavor S. Diatchki, Mark P. Jones, Thomas Hallgren. "A Formal Specification for the Haskell 98 Module System". 2002 Haskell Workshop. October 2002. Available online: pdf. Citation.
  • Oscar Waddell and R. Kent Dybvig. "Extending the Scope of Syntactic Abstraction". Conference Record of POPL'99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 1999. Available online: ps. Citation.
  • Matthew Flatt and Matthias Felleisen. "Units: Cool Modules for HOT Languages". Proceedings of PLDI 98. 1998. Available online: ps. Citation.
  • Robert Bruce Findler and Matthew Flatt. "Modular Object-Oriented Programming with Units and Mixins". Proceedings of ICFP 98. 1998. Available online: pdf ps. Citation.
  • Matthew Flatt. "Programming Languages for Reusable Software Components". PhD. Thesis. Rice University. Available online: ps. Citation.

Higher-order Modules

  • David MacQueen and Mads Tofte. "A semantics for higher-order functors". ESOP 94. 1994. Available online: ps. Citation.
  • Xavier Leroy. "Applicative functors and fully transparent higher-order modules". 22nd symposium Principles of Programming Languages. 1995. Available online: dvi. Citation.
  • Sandip K. Biswas. "Higher-order functors with transparent signatures". Proceedings of the 22nd Symposium on Principles of programming languages. January 1995. Available online: ACM Digital Library. Citation.
  • Pierre Cregut David B. MacQueen. "An Implementation of Higher-Order Functors". Proc. of 1994 ACM SIGPLAN Workshop on ML and its Applications. 1994. Available online: ps. Citation.
  • Karl Crary, Robert Harper, and Derek Dreyer. "A Type System for Higher-Order Modules". Twenty-Ninth Symposium on Principles of Programming Languages (POPL'02). January 2002. Available online: ps. Citation.
  • Robert Harper and Mark Lillibridge. "A type-theoretic approach to higher-order modules with sharing". Carnegie Mellon University. CMU-CS-93-197. October 1993. Available online: ps. Citation.
  • Robert Harper and Mark Lillibridge. "A type-theoretic approach to higher-order modules with sharing". Symposium on Principles of Programming Languages (POPL'94). January 1994. Available online: ps. Citation.
  • Mark Lillibridge. "Translucent Sums: A Foundation for Higher-Order Module Systems". PhD. Thesis. Carnegie Mellon University. May 1997. Available online: ps pdf. Citation.
  • Mads Tofte. "Principal signatures for higher-order functors". POPL 92. 1992. Available online: dvi. Citation.
  • Claudio V. Russo. "Types For Modules". PhD. Thesis. University of Edinburgh. ECS-LFCS-98-389. 1998. Available online: ps pdf. Citation.

First Class Modules

  • Claudio V. Russo. "Types For Modules". PhD. Thesis. University of Edinburgh. ECS-LFCS-98-389. 1998. Available online: ps pdf. Citation.
  • Mark P. Jones. "From Hindley-Milner Types to First-Class Structures". Proceedings of the Haskell Workshop. June 1995. Available online: pdf ps. Citation.
  • Claus Reinke. "Functions, Frames, and Interactions: completing a lambda-calculus-based purely functional language with respect to programming-in-the-large and interactions with runtime environments". PhD. Thesis. University of Kiel. 1997. Available online: ps pdf. Citation.
  • Claus Reinke. "On functional programming, language design, and persistence". University of Nottingham. NOTTCS-TR-98-2. July 1998. Available online: ps. Citation.
  • Claus Reinke. "Functions, Frames, and Interactions (advocating first class modules)". Proceedings of the Kolloquium 'Grundlagen der Programmierung'. 1995. Available online: ps. Citation.
  • Claus Reinke. "Functions, Frames, and Interactions". Proceedings of the Workshop on the Implementation of Functional Languages. 1995. Available online: ps. Citation.
  • Claudio V. Russo. "First-Class Structures for Standard ML". 1999. Available online: ps. Citation.
  • Mark Shields and Simon Peyton Jones. "First Class Modules for Haskell". Foundations of Object-Oriented Languages (FOOL 9). January 2002. Available online: ps pdf. Citation.
  • Mark A. Sheldon , David K. Gifford. "Static dependent types for first class modules". Proceedings of the 1990 ACM conference on LISP and functional programming. May 1990. Available online: ACM Digital Library. Citation.
  • Guruduth S. Banavar. "An Application Framework For Compositional Modularity". PhD. Thesis. University of Utah. 1995. Available online: ps pdf. Citation.
  • Matthew Flatt and Matthias Felleisen. "Units: Cool Modules for HOT Languages". Proceedings of PLDI 98. 1998. Available online: ps. Citation.
  • Robert Bruce Findler and Matthew Flatt. "Modular Object-Oriented Programming with Units and Mixins". Proceedings of ICFP 98. 1998. Available online: pdf ps. Citation.
  • Matthew Flatt. "Programming Languages for Reusable Software Components". PhD. Thesis. Rice University. Available online: ps. Citation.

Mixin Modules

  • Dominic Duggan , Constantinos Sourelis. "Mixin modules". 1996 International Conference on Functional Programming. 1996. Available online: ACM Digital Library. Citation.
  • Dominic Duggan. "Type-based hot swapping of running modules (extended abstract)". 2001 ACM SIGPLAN International Conference on Functional Programming. October 2001. Available online: ACM Digital Library. Citation.
  • Tom Hirschowitz and Xavier Leroy. "Mixin modules in a call-by-value setting". Programming Languages and Systems, ESOP'2002. Lecture Notes in Computer Science, Volume 2305. 2002. Available online: pdf. Citation.
  • Davide Ancona. "Modular Formal Frameworks for Module Systems". PhD. Thesis. Universita di Pisa. March 1998. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "A Calculus of Module Systems". Journal of Functional Programming. 12. 2. 2002. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "A Primitive Calculus for Module Systems". PPDP'99 - International Conference of Principles and Practice of Declarative Programming. 1999. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "A Theory of Mixin Modules: Basic and Derived Operators". Mathematical Structures in Computer Science. 8. 4. 1998. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "A Theory of Mixin Modules: Algebraic Laws and Reduction Semantics". Mathematical Structures in Computer Science. 12. 2002. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "An Algebraic Approach to Mixins and Modularity". ALP '96 - 5th Intl. Conf. on Algebraic and Logic Programming. 1996. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "Overriding Operators in a Mixin-Based Framework". PLILP '97 - 9th Intl. Symp. on Programming Languages, Implementations, Logics, and Programs. 1997. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "An Algebra of Mixin Modules". WADT'97 - 12th Workshop on Algebraic Development Techniques. 1998. Available online: ps. Citation.
  • Davide Ancona. "MIX(FL): a Kernel Language of Mixin Modules". AMAST 2000 - Algebraic Methodology and Software Technology. 2000. Available online: ps. Citation.

Modules and First-Class Environments

Separate Compilation and Linking

  • Peter Sewell. "Modules, Abstract Types, and Distributed Versioning". Symposium on Principles of Programming Languages (POPL 2001). January 2001. Available online: ps pdf. Citation.
  • Peter Sewell. "Modules, Abstract Types, and Distributed Versioning". University of Cambridge. Technical Report 506. September 2000. Available online: ps pdf. Citation.
  • Zhong Shao. "Typed Cross-Module Compilation". Proc. 1998 ACM SIGPLAN International Conference on Functional Programming (ICFP'98). September 1998. Available online: ps pdf. Citation.
  • Zhong Shao. "Typed Cross-Module Compilation". Yale University. YALEU/DCS/TR-1126. April 1997. Available online: ps pdf. Citation.
  • Zhong Shao. "Transparent Modules with Fully Syntactic Signatures". Proc. 1999 ACM SIGPLAN International Conference on Functional Programming (ICFP'99). September 1999. Available online: ps pdf. Citation.
  • Zhong Shao. "Transparent Modules with Fully Syntactic Signatures". Yale University. YALEU/DCS/TR-1181. June 1999. Available online: ps pdf. Citation.
  • Xavier Leroy. "Manifest types, modules, and separate compilation". 21st symposium Principles of Programming Languages. 1994. Available online: dvi. Citation.
  • Claudio V. Russo. "Types For Modules". PhD. Thesis. University of Edinburgh. ECS-LFCS-98-389. 1998. Available online: ps pdf. Citation.
  • Luca Cardelli. "Program fragments, linking, and modularization". POPL'97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 1997. Available online: ps pdf. Citation.
  • Davide Ancona. "An Algebraic Framework for Separate Type-Checking". WADT'98 - 13th Workshop on Algebraic Development Techniques. 1999. Available online: ps. Citation.
  • Oscar Waddell and R. Kent Dybvig. "Extending the Scope of Syntactic Abstraction". Conference Record of POPL'99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 1999. Available online: ps. Citation.
  • Matthew Flatt and Matthias Felleisen. "Units: Cool Modules for HOT Languages". Proceedings of PLDI 98. 1998. Available online: ps. Citation.
  • Matthias Blume. "Separate Compilation for Scheme, draft paper". 1997. Available online: ps. Citation.

Type Theory and Foundations

  • Mads Tofte. "Operational Semantics and Polymorphic Type Inference". PhD. Thesis. University of Edinburgh. 1988. Available online: part 1 and 2 (ps) part 3 (ps). Citation.
  • Xavier Leroy. "A modular module system". Journal of Functional Programming. 10. 3. 2000. Available online: ps. Citation.
  • Xavier Leroy. "Applicative functors and fully transparent higher-order modules". 22nd symposium Principles of Programming Languages. 1995. Available online: dvi. Citation.
  • Xavier Leroy. "Manifest types, modules, and separate compilation". 21st symposium Principles of Programming Languages. 1994. Available online: dvi. Citation.
  • David MacQueen. "Using dependent types to express modular structure". Proceedings 13th ACM Symposium on Principles of Programming Languages. 1986. Available online: ps. Citation.
  • Karl Crary, Robert Harper, and Derek Dreyer. "A Type System for Higher-Order Modules". Twenty-Ninth Symposium on Principles of Programming Languages (POPL'02). January 2002. Available online: ps. Citation.
  • Robert Harper and Mark Lillibridge. "A type-theoretic approach to higher-order modules with sharing". Carnegie Mellon University. CMU-CS-93-197. October 1993. Available online: ps. Citation.
  • Robert Harper and Mark Lillibridge. "A type-theoretic approach to higher-order modules with sharing". Symposium on Principles of Programming Languages (POPL'94). January 1994. Available online: ps. Citation.
  • Mark Lillibridge. "Translucent Sums: A Foundation for Higher-Order Module Systems". PhD. Thesis. Carnegie Mellon University. May 1997. Available online: ps pdf. Citation.
  • Claudio V. Russo. "Types For Modules". PhD. Thesis. University of Edinburgh. ECS-LFCS-98-389. 1998. Available online: ps pdf. Citation.
  • Mark P. Jones. "Using Parameterized Signatures to Express Modular Structure". Proceedings of the Twenty Third Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 1996. Available online: pdf ps. Citation.
  • Claudio V. Russo. "Non-Dependent Types for Standard ML Modules". 1999 Int'l Conf. on Principles and Practice of Declarative Programming. 1999. Available online: ps. Citation.
  • Mark A. Sheldon , David K. Gifford. "Static dependent types for first class modules". Proceedings of the 1990 ACM conference on LISP and functional programming. May 1990. Available online: ACM Digital Library. Citation.
  • Franz-Josef Grosch. "A Syntactic Approach to Structure Generativity". Abteilung Softwaretechnologie, TU Braunschweig. Informatik-Bericht 96-05. July 1996. Available online: ps. Citation.
  • Franz-Josef Grosch. "No Type Stamps and No Structure Stamps a Referentially-Transparent Higher-Order Module Language". 1995. Available online: ps pdf. Citation.
  • Eugenio Moggi. "A category-theoretic account of program modules". CTCS. LNCS 530. 1989. Citation.
  • Eugenio Moggi. "A category-theoretic account of program modules". Mathematical Structures In Computer Science. 1. 1991. Available online: ps pdf. Citation.
  • David Aspinall. "Type Systems for Modular Programming and Specification". PhD. Thesis. University of Edinburgh. December 1997. Available online: ps pdf. Citation.
  • Davide Ancona and Elena Zucca. "A Calculus of Module Systems". Journal of Functional Programming. 12. 2. 2002. Available online: ps. Citation.
  • Davide Ancona and Elena Zucca. "A Primitive Calculus for Module Systems". PPDP'99 - International Conference of Principles and Practice of Declarative Programming. 1999. Available online: ps. Citation.

Module Systems for Scheme

  • Christian Queinnec. "23 things I know about modules for Scheme". Workshop on Scheme and Functional Programming (2002). October 2002. Available online: ps pdf. Abstract and citation.
  • Matthew Flatt. "Composable and Compilable Macros: You Want it When?". International Conference on Functional Programming (ICFP'2002). 2002. Available online: pdf. Citation.
  • Oscar Waddell and R. Kent Dybvig. "Extending the Scope of Syntactic Abstraction". Conference Record of POPL'99: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. January 1999. Available online: ps. Citation.
  • Richard A. Kelsey and Jonathan A. Rees. "Modules (in 'The Incomplete Scheme48 Reference Manual for release 0.57')". 2001. Available online: html ps. Citation.
  • Pavel Curtis and James Rauen. "A Module System for Scheme". Proceedings of the 1990 ACM Conference on Lisp and Functional Programming. June 1990. Available online: ps ps pdf. Citation.
  • Jonathan A. Rees. "A Security Kernel Based on the Lambda-Calculus". PhD. Thesis. February 1995. Available online: ps. Citation.
  • Matthew Flatt and Matthias Felleisen. "Units: Cool Modules for HOT Languages". Proceedings of PLDI 98. 1998. Available online: ps. Citation.
  • Robert Bruce Findler and Matthew Flatt. "Modular Object-Oriented Programming with Units and Mixins". Proceedings of ICFP 98. 1998. Available online: pdf ps. Citation.
  • Matthew Flatt. "Programming Languages for Reusable Software Components". PhD. Thesis. Rice University. Available online: ps. Citation.
  • Sho-Huan Simon Tung. "Interactive Modular Programming in Scheme". Proceedings of the 1992 ACM Conference on Lisp and Functional Programming. June 1992. Available online: ps. Citation.
  • Sho-Huan Simon Tung. "Merging Interactive, Modular and Object-Oriented Programming". PhD. Thesis. Computer Science Department, Indiana University. TR-349. March 1992. Available online: ps. Citation.
  • Sho-Huan Simon Tung and R. Kent Dybvig. "Reliable Interactive Programming with Modules". Lisp and Symbolic Computation. 9, 4. December 1996. Available online: ps. Citation.
  • Augustin Lux. "Tools for Automatic Interface Generation in Scheme". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf. Citation.
  • Martin Gasbichler, Holger Gast. "Soft Interfaces: Typing Scheme At The Module Level". 2nd Workshop on Scheme and Functional Programming. September 2001. Available online: ps pdf. Citation.
  • Matthias Blume. "Separate Compilation for Scheme, draft paper". 1997. Available online: ps. Citation.
  • Frédéric Peschanski, Christian Queinnec and Jean-Pierre Briot. "A typeful composition model for dynamic software architectures". July 2001. Available online: ps pdf. Abstract and citation.
  • Christian Queinnec and David DeRoure. "Sharing code through first-class environments". Proceedings of ICFP'96 International Conference on Functional Programming. May 1996. Available online: ps. Citation.
  • Christian Queinnec and Julian Padget. "Modules, macros and Lisp". Eleventh International Conference of the Chilean Computer Science Society. October 1991. Available online: ps. Citation.
  • Christian Queinnec and Julian Padget. "A proposal for a modular Lisp with macros and dynamic evaluation". Journées de Travail sur l'Analyse Statique en Programmation Équationnelle, Fonctionnelle et Logique. October 1991. Available online: . Abstract and citation.
  • Christian Queinnec and Julian Padget. "A deterministic model for modules and macros". University of Bath. Bath Computing Group Technical Report 90-36. 1990. Available online: ps. Citation.
  • Suresh Jagannathan. "Meta-Level Building Blocks for Modular Systems". ACM Transactions on Programming Languages and Systems. May 1994. Available online: ps. Citation.
  • Suresh Jagannathan. "Dynamic Modules in Higher-Order Languages". IEEE International Conference on Computer Languages. May 1994. Available online: ps. Citation.
  • Suresh Jagannathan. "Reflective Building Blocks for Modular Systems". International Workshop on Reflection and Meta-Level Architectures. November 1992. Available online: ps. Citation.
  • Matthias Felleisen and Daniel P. Friedman. "A Closer Look At Export and Import Statements". Journal of Computer Languages. 11. 1. 1986. Citation.
  • Guruduth S. Banavar. "An Application Framework For Compositional Modularity". PhD. Thesis. University of Utah. 1995. Available online: ps pdf. Citation.

Module Systems for SML and its Dialects

There is a rich body of module research in the SML community. Many extensions to the SML module system are described in other sections.

Module Systems for Haskell

Related Module Systems

Last modified: Monday, February 16th, 2009 6:15:20pm
HTML generated using WebIt!.