Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > comp.compilers > #3089

Re: What programming languages are simply abstractions on top of another programming language?

From Kaz Kylheku <480-992-1380@kylheku.com>
Newsgroups comp.compilers
Subject Re: What programming languages are simply abstractions on top of another programming language?
Date 2022-06-22 01:31 +0000
Organization A noiseless patient Spider
Message-ID <22-06-067@comp.compilers> (permalink)
References <22-06-047@comp.compilers>

Show all headers | View raw


On 2022-06-18, Roger L Costello <costello@mitre.org> wrote:
> Hi Folks,
>
> I am reading "Software Tools" by Kernighan and Plauger. One of the things that
> I've learned is that Ratfor is a simple abstraction on top of Fortran. For
> example, Ratfor provides a while loop. The while loop can be mechanically
> converted to Fortran if-then and goto statements. Really cool!
>
> That got me to wondering, "What other programming languages are simply
> abstractions on top of an existing programming language?"

In the Ratfor spirit, in April 2022, I introduced a new one: cppawk.

https://www.kylheku.com/cgit/cppawk/about/

Using the GNU C preprocessor, with C99 semantics, I managed to build,
for instance, a loop macro that supports multiple clauses that
combine for parallel or nested (cross product) iteration.

Not only are there some userful predefined clauses, but they
are user-definable.

Even the Common Lisp LOOP macro deosn't have user-definable clauses.
I made it possible in five #define statements.

"LOL"

:)

There is a "Mock Lisp" data abstraction layer as well: cons cells
are represented and such. Lists can be passed around and mapped
over (if you have GNU Awk, which has indirect functions).

cppawk provides a case statement which "compiles" either to
a GNU Awk switch (nonstandard extension) or else portable
constructs that work in other Awks.

> /Roger
> [The infamous m4 macrogenerator is used to build what are in effect new
> languages like the sendmail configuration and GNU Autoconf. -John]

GNU m4 underlies the Bison implementation: it's what glues together
the parser skeleton templates with the grammar tables and whatnot
to produce the output.

--
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

Back to comp.compilers | Previous | NextPrevious in thread | Find similar


Thread

What programming languages are simply abstractions on top of another programming language? Roger L Costello <costello@mitre.org> - 2022-06-18 19:42 +0000
  Re: What programming languages are simply abstractions on top of another programming language? gah4 <gah4@u.washington.edu> - 2022-06-20 15:36 -0700
    What programming languages are simply abstractions on top of another programming language? Christopher F Clark <christopher.f.clark@compiler-resources.com> - 2022-06-21 23:34 +0300
  Re: What programming languages are simply abstractions on top of another programming language? George Neuner <gneuner2@comcast.net> - 2022-06-21 15:10 -0400
  Re: What programming languages are simply abstractions on top of another programming language? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-06-22 01:31 +0000

csiph-web