The Fundamental Concept of Programming language X
Aaron Sloman
aarons at syma.sussex.ac.uk
Mon Jan 15 20:31:17 AEST 1990
wsmith at mdbs.UUCP (Bill Smith) writes:
> Date: 29 Dec 89 19:40:36 GMT
> Organization: MDBS Inc., Lafayette, IN
>
> I have an idea regarding programming language design that I would
> like to toss out in order to see how accurately it describes the
> high level thinking that goes into a new programming language.
>
> The idea is "fundamental concept." The fundamental concept of
> a language is the data structure, control structure or style issue
> that distinguishes the language and must be understood in detail before
> proficient use of the programming language can begin.
>
POP-11
Block-structure with multi-bracket syntax, collection of
abnormal exit procedures (chain, exitfrom, exitto), use of
"open" stack (Like Forth), "dynamic local expressions",
lexical and dynamic binding, most kinds of numbers, records,
vectors, arrays, strings, "words" (in a dictionary)
procedures as data objects, stream processing via repeaters
and consumers, list processing including pattern matcher,
dynamic lists (limited lazy evaluation), lightweight
processes, properties, class-procedures, syntax extendable
by code-planting as well as macro expansion, autoloadable
libraries, OOP subsystem, incremental compiler, screen
editor as a sub-routine.
(AIM: an easy language for beginners that "grows" as you
learn, and remains useful for advanced R&D).
Actually - that list applies only to Poplog Pop-11. Alphapop (Byte
May 1988) and earlier dialects (POP2, POP-10, WPOP) contain a
subset.
All dialects of POP have at least the open stack, dynamic binding
of variables, garbage collector, incremental compilation, records,
arrays, vectors, strings, words, list processing, partial
application.
Also, I have mixed up language features with other features. But
from the point of view of a user there's no sharp boundary.
Aaron Sloman,
School of Cognitive and Computing Sciences,
Univ of Sussex, Brighton, BN1 9QH, England
EMAIL aarons at cogs.sussex.ac.uk
aarons%uk.ac.sussex.cogs at nsfnet-relay.ac.uk
aarons%uk.ac.sussex.cogs%nsfnet-relay.ac.uk at relay.cs.net
BITNET: aarons%uk.ac.sussex.cogs at uk.ac
UUCP: ...mcvax!ukc!cogs!aarons
or aarons at cogs.uucp
More information about the Comp.lang.c
mailing list