Return-Path: <John.Harrison-request@cl.cam.ac.uk>
Delivery-Date: 
Received: from leopard.cs.byu.edu (no rfc931) by swan.cl.cam.ac.uk 
          with SMTP (PP-6.5) outside ac.uk; Thu, 18 Aug 1994 16:06:33 +0100
Received: by leopard.cs.byu.edu (1.37.109.8/16.2) id AA29155;
          Thu, 18 Aug 1994 09:02:48 -0600
Sender: info-hol-request@lal.cs.byu.edu
Errors-To: info-hol-request@lal.cs.byu.edu
Precedence: bulk
Received: from vanuata.dcs.gla.ac.uk by leopard.cs.byu.edu 
          with SMTP (1.37.109.8/16.2) id AA29151;
          Thu, 18 Aug 1994 09:02:47 -0600
Received: from switha.dcs.gla.ac.uk by goggins.dcs.gla.ac.uk 
          with LOCAL SMTP (PP) id <13554-0@goggins.dcs.gla.ac.uk>;
          Thu, 18 Aug 1994 15:58:16 +0100
Received: by switha.dcs.gla.ac.uk (4.1/Dumb) id AA13030;
          Thu, 18 Aug 94 15:58:06 BST
From: tfm@dcs.gla.ac.uk
Message-Id: <9408181458.AA13030@switha.dcs.gla.ac.uk>
To: Matthew Morley <morley@gmd.de>
Cc: info-hol@leopard.cs.byu.edu, tfm@dcs.gla.ac.uk
Subject: Re: Where do type constructors come from?
In-Reply-To: Your message of "Thu, 18 Aug 94 16:38:29 +0100." <199408181438.AA02884@borneo.gmd.de>
Date: Thu, 18 Aug 94 15:58:06 +0100


> So HOL's type language is enriched quite a bit with
> (t1,...tn)op constructors. HOL is a much more powerful type theory
> than I hitherto imagined -- this I need to digest. Meanwhile, whence
> came (t1,...tn)op?

Historically, these came from LCF's logic PP\lambda.  Type operators in 
this logic corresponded domain operations (separated sum, cartesian 
product, continuous function space). The earliest reference I have (on 
my shelf) is

  R. Milner, L. Morris, and M. Newey, 
  A Logic for Computable Functions With Reflexive and Polymorphic Types,
  LCF Report No. 1, Department of Computer Science,
  University of Edinburgh (January 1975).

Tom




