Re: First-class data types

kend@data.rain.com (Ken Dickey)
Thu, 5 Mar 1992 22:33:23 GMT

          From comp.compilers

Related articles
Reference to "First-Class Data Type" reid@vtopus.cs.vt.edu (1992-02-18)
re: First-class data types lotus!wildbill@uunet.uu.net (1992-03-05)
Re: First-class data types norman@a.cs.okstate.edu (1992-03-05)
Re: First-class data types rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell) (1992-03-06)
Re: First-class data types pk@cs.tut.fi (1992-03-06)
Re: First-class data types kend@data.rain.com (1992-03-05)
Re: First-class data types tmb@ai.mit.edu (1992-03-09)
Re: First-class data types norman@a.cs.okstate.edu (Norman P. Graham) (1992-03-11)
| List of all articles for this month |

Newsgroups: comp.compilers
From: kend@data.rain.com (Ken Dickey)
Keywords: types
Organization: Compilers Central
References: 92-02-085 92-03-024
Date: Thu, 5 Mar 1992 22:33:23 GMT

lotus!wildbill@uunet.uu.net (Bill Torcaso) writes:
> There is a nit to pick with the definition of 'first class datatype'
>that asserts any operation can be applied to any object of any first class
>datatype. Consider a language in which functions are first-class:


> What is the XOR of two functions? What is the AND of two functions?


> What is the function-invocation of the integer constant 17? Of the
> floating-point constant 0.5?


These operations are well defined--they all generate errors.


Most people mean 1st class data types have the same language *rights*.


    Does it need to have a name?


    Can it be created and returned from within a function, passed as a
    parameter, stored in a data structure?


More generally, do all data objects satisfy basic design principles
using the same rules? [E.g. see R. Tennent: _Principles of
Programming Langauages_, Prentice Hall, 1981, ISBN 0-13-709873-1
    - Principle of Abstraction
    - Principle of Correspondence
    - Principle of Qualification
].


For example, in the C language function *pointers* are first class,
but functions are not--you cannot create an unnamed function.




-Ken Dickey kend@data.rain.com
--


Post a followup to this message

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