Re: Reference to "First-Class Data Type"

moss@cs.umass.edu
19 Feb 92 17:28:23 GMT

          From comp.compilers

Related articles
Reference to "First-Class Data Type" reid@vtopus.cs.vt.edu (1992-02-18)
Re: Reference to "First-Class Data Type" moss@cs.umass.edu (1992-02-19)
Re: Reference to "First-Class Data Type" stachour@sctc.com (1992-02-20)
Re: Reference to "First-Class Data Type" jwb@cepmax.ncsu.edu (1992-02-20)
Re: Reference to "First-Class Data Type" mab@wdl39.wdl.loral.com (1992-02-20)
Re: Reference to "First-Class Data Type" eric@tfs.COM (1992-02-22)
Re: Reference to "First-Class Data Type" spot@CS.CMU.EDU (1992-02-24)
Re: Reference to "First-Class Data Type" pardo@cs.washington.edu (1992-02-24)
[5 later articles]
| List of all articles for this month |
Newsgroups: comp.compilers
From: moss@cs.umass.edu
Keywords: types
Organization: Dept of Comp and Info Sci, Univ of Mass (Amherst)
References: 92-02-085
Date: 19 Feb 92 17:28:23 GMT

On 18 Feb 92 14:39:56 GMT, reid@vtopus.cs.vt.edu (Thomas F. Reid) said:
> The other day, I used the term "first-class data type" in conversation
> to mean a "complete" ADT. When challenged, I could not remember where
> I "learned" the term. Can someone give me the real definition and
> possibly a reference to its origin?


I can't help with the origin of the term, but I would not use it to mean a
complete abstract data type. I would say a complete abstract data type is
one that provides sufficient interface to determine (and change, for
mutable data types) the entire (abstract) state of an object of the type.
A first class type is one that can be manipulated in all ways permitted to
any type in the language. For example, for procedures to be first class
you must be able to store them in heap variables, pass them as arguments,
etc. In a language supporting persistence, being first class would also
imply being able to persist, etc.
--
J. Eliot B. Moss, Assistant Professor
Department of Computer Science
Lederle Graduate Research Center
University of Massachusetts
Amherst, MA 01003
(413) 545-4206, 545-1249 (fax); Moss@cs.umass.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.