ML programming in constructive type theory

  • Robert L. Constable
Invited paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1275)


ML programs can be considered as the terms of a constructive type theory such as Nuprl, and the rules of the theory become a programming logic for ML. We are using such an embedding of ML to support the Ensemble fault-tolerant group communication system with the Nuprl prover. The Ensemble system is a successor to the widely used Isis system built by Ken Birman's group at Cornell and now sold by Stratus Corporation. It was first written in C, under the name Horns, and re-coded in ML as part of an effort to make it more modular and reliable by building a “reference” implementation. The ML version consists of many small protocols that can be configured into stacks for processing messages. The reference version performed so well that it has become the production system.

This talk will discuss the ML embedding into Nuprl and the type theoretic semantics this provides. It will also discuss tactic support for programming in this logical environment and how tactics are being used to support the Ensemble work. Plans to use Nuprl-Light, a light weight version of the system as a partner to Ensemble will be mentioned as well.

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Robert L. Constable
    • 1
  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations