Type Theories in ML


Table of Contents:

  1. Principal Investigator.
  2. Productivity Measures.
  3. Summary of Objectives and Approach.
  4. Detailed Summary of Technical Progress.
  5. Transitions and DOD Interactions.
  6. Software and Hardware Prototypes.
  7. List of Publications.
  8. Invited and Contributed Presentations.
  9. Honors, Prizes or Awards Received.
  10. Project Personnel Promotions.
  11. Project Staff.
  12. Multimedia URL.
  13. Keywords.
  14. Business Office.
  15. Expenditures.
  16. Students.
  17. Book Plans.
  18. Sabbatical Plans.
  19. Related Research.
  20. History.


Principal Investigator.


Productivity Measures.


Summary of Objectives and Approach.

  1. Construction of verified correct programs depends heavily upon the use of well-crafted languages. In this research, we develop languages and tools for building verified, interconnected, modular programs in ML-like programming languages. Efforts are being dedicated to the development of interconnection languages and supporting tools for building validated, modular programs. Static analysis techniques are being developed to support the interconnection languages.

  2. A programming language, lemon, has been designed for writing well-structured, verifiable code. Lemon is based upon the principles of constructive type theory and possesses a strict structure that is especially amenable to writing correct code. Several related support tools have been developed: a realizability-based program generator, which maps proofs of predicate calculus program specifications into lemon-like code and can link them, and porgi, a Proof-Or-Refutation-Generator for Intutionistic propositional logic, which has been used in combination with lemon to generate well-structured code.

  3. A key area of foundational research for the project has been the formalization of data-flow analysis of ML-like programs in Detailed Summary of Technical Progress.


    Transitions and DOD Interactions.


    Software and Hardware Prototypes.

    1. Lemon: A testbed interpreter for a functional language with inductive and coinductive types, where the control structures strictly follow the type structures. Documentation and implementation available from http://www.cis.ksu.edu/~bhoward/lemon.html.
    2. A realizability system for generating ML-like programs. Documentation and implementation available from ftp://ftp.cis.ksu.edu/pub/CIS/Students/realizer/
    3. porgi: a Proof-Or-Refutation Generator for Intuitionistic propositional logic. Documentation and implementation available from http://www.cis.ksu.edu/~allen/porgi.html.


    List of Publications.

    1. Banerjee, A., and Schmidt, D.A. Stackability in the typed call-by-value lambda calculus. Science of Computer Programming, in press.
    2. Howard, B.T. Inductive, coinductive, and pointed types. Proc. 1996 ACM SIGPLAN International Conference on Functional Programming, in press.
    3. Howard, B.T. Another iteration on Darlington's ``A synthesis of several sorting algorithms''. Acta Informatica, to appear.
    4. Le Metayer, D., and Schmidt, D.A. Operational and denotational semantics. ACM Computing Surveys, in press.
    5. Le Metayer, D., and Schmidt, D.A. Structural Operational Semantics as a Basis for Static Program Analysis. ACM Computing Surveys, in press.
    6. Schmidt, D.A. Operational and Denotational Semantics. ACM Computing Surveys, in press.
    7. Schmidt, D.A. Programming language semantics. In CRC Handbook of Computer Science, Allen Tucker, ed., CRC Press, Boca Raton, FL, in press.
    8. Schmidt, D.A. Natural-semantics-based abstract interpretation. Proc. 2d Static Analysis Symposium, Glasgow. Lecture Notes in Computer Science 983, Springer, Berlin, 1995, pp. 1-18.
    9. Stoughton, A. porgi: A Proof-Or-Refutation Generator for Intuitionistic propositional logic, submitted to CADE-13.


    Invited and Contributed Presentations.

    1. D. Schmidt. Coinductively defined natural semantics. University of Edinburgh, August 1995, and University of Copenhagen, August 1995.
    2. D. Schmidt. Linear logic and single threading. Workshop on Syntactic Control of Interference and Linear logic, Glasgow, August 1995.
    3. D. Schmidt. Natural-semantics-based abstract interpretation. Keynote speaker, Proc. 2d Static Analysis Symposium, Glasgow, September, 1995.
    4. A. Stoughton, "Equationally fully abstract models of PCF", Workshop on the Full Abstraction Problem for PCF and Related Langauges, Aarhus University, Denmark, April 1995.
    5. A. Stoughton, "Mechanizing logical relations", Workshop on the Full Abstraction Problem for PCF and Related Langauges, Aarhus University, Denmark, April 1995.
    6. A. Stoughton, "Studying the fully abstract model of PCF within its continuous function model", Workshop on the Full Abstraction Problem for PCF and Related Langauges, Aarhus University, Denmark, April 1995.


    Honors, Prizes or Awards Received.

    1. D. Schmidt. Funded visiting research fellow, Computing Science Department, University of Glasgow Research Festival, July-August 1995.
    2. D. Schmidt. Invited participant, Dagstuhl Workshop on Abstract Interpretation, Dagstuhl, Germany, August 1995.
    3. D. Schmidt. Funded visitor, Computer Science Department, University of Copenhagen, August 1995.
    4. D. Schmidt. Invited keynote speaker, Proc. 2d Static Analysis Symposium, Glasgow, September, 1995.
    5. D. Schmidt. Invited participant, Dagstuhl Workshop on Multiparadigm Languages, Dagstuhl, Germany, September 1995. (Declined invitation due to time constraints.)
    6. D. Schmidt and A. Stoughton. Co-principal investigators, National Science Foundation Grant CCR-9302962, Analysis and Classification of Programming Languages, September 1993-January 1997, $221,000. (The 1995 allocation was $73,000.)
    7. A. Stoughton. Funded invited participant and speaker, Workshop on the Full Abstraction Problem for PCF and Related Languages, Aarhus University, Denmark, April 1995.
    8. A. Stoughton. Invited participant, Program on Semantics of Computation, Newton Institute of Mathematical Sciences, Cambridge University, 6-30 July 1995.

    Service to Profession.

    1. D. Schmidt. Program Committee Member, ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation, La Jolla, CA, June 1995.
    2. D. Schmidt. Program Committee Co-Chair,3rd International Symposium on Static Analysis, Aachen Germany, to be held in September 1996.
    3. D. Schmidt. Program Committee Member,2d Andrei Ershov Second International Memorial Conference: Perspectives of System Informatics. Novosibirsk, Russia, to be held in June 1996.
    4. D. Schmidt. Guest Editor, with Michael Mislove, Proceedings of the Tenth Workshop on the Mathematical Foundations of Programming Semantics, Theoretical Computer Science, to appear.


    Project Personnel Promotions.


    Project Staff.

    1. Name: Dr. David A. Schmidt
    2. Name: Dr. Allen Stoughton
    3. Name: Dr. Brian T. Howard


    Multimedia URL.

    1. EOYL FY95
    2. QUAD FY95


    Keywords.

    1. Type theory.
    2. Intuitionistic Logic.
    3. Abstract interpretation.


    Business Office