Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: [subject: first-class language]

From: gerardcote:sympatico:ca at: 11-Mar-2002 21:26

Hello Patrick, Like you I was asking for the true meaning of "First-Class Anything", the Anything being one from the many offered choices : Datatype, Function, Object, Class, Language, etc... After some search on the Net for each one of these combinations, I found some satisfactory answers covering them all. Here is the summary and follows the List of articles Where I found some useful information : First, the term "First-Class" includes two related but different concepts, as far as I understood the enclosed reference material. The first one relates to the design and the implementation phase of a particular programming language to define how it can be used to describe itself using its own constructs to do so. So in this case the authors speak of reflexivity, meta-language and first-class environment. I don't know if these terms are completely equivalent however but they seem to be related in some way. The second view relates to the way a programmer can use any object and/or function that are enclosed in a particular programming language as if it was a native datatype. Authorized to do so with some programming languages, a programmer can then use, for example, a function in some way that other languages can't even accept, like assign as a value to a newly defined variable a newly defined function, or pass a function as a parameter to another one. This is what I understood and it is sufficiently clear to me without boring with the details for the moment. If someone else want to clarify or correct any misunderstood or badly presented conncept, please do so. I will benefit from this too. I just hope NOT being to far from the truth... Here are some of the few consulted references : 1. http://lists.w3.org/Archives/Public/www-rdf-logic/2000Oct/0072.html 2. ttp://www.cc.gatech.edu/computing/classes/cs2360/fall95/handouts/lab3.html (Look under the First-Class functions paragraph) 3. http://compilers.iecc.com/comparch/article/92-02-092 P.S. Sorry for the length of my explanations and/or the poor quality of my written English. I'm a French native speaker from Canada.