Hi Stan
 It sounds a little like the way most good Forth programmers deal with 
problems. Forth is all about semantics. Every thing is a word. The complexity 
of the program is left to the low level stuff. When the program is done, it 
isn't a program written in Forth, it is a program written in the application. 
At the highest levels one should not see the language it was written in one 
should only see the application. Well written Forth at the upper levels has 
only : and ; of the language showing through. The rest are just the words in a 
sentence like structure telling what the application is doing.
It is too bad that people insist on using languages that even at the highest 
level is still just a program in that particular language. All the boiler plate 
is still in the way of the program.
Although, taking a little more time to get used to, Lisp is something like that 
as well. At least well written Lisp is. One can see what the intent is at the 
higher levels of coding. It is just learning to read the sentences. The lower 
level language part is how you move the bits and bytes around. The application 
should tell you what it does and why. Comments should only be needed at the 
more confusing lower levels. At the higher levels comments would and should be 
redundant. The words should tell you what is being done.
Dwight

________________________________
From: cctalk <cctalk-boun...@classiccmp.org> on behalf of Stan Sieler via 
cctalk <cctalk@classiccmp.org>
Sent: Thursday, June 25, 2020 3:14 PM
To: General Discussion: On-Topic and Off-Topic Posts <cctalk@classiccmp.org>
Subject: On: raising the semantic level of a program

Hi,

Not hardware ... but an antique software / programming concept.

Some decades ago (circa late 1970s?), I *think* I came across a concept of
"raising the semantic level" of a program by using defines/macros and newly
written library functions.  The concept was that a given language provided
a particular level of semantics.  By judicious/clever use of things like
macros, one could "raise" the level of semantics, effectively appearing to
add new features to the language (or, in this case, the instance of the
language as used in the program).

I *thought* I got that concept from Terry Wingrad's excellent "Breaking the
Complexity Barrier again" (Nov, 1974,
https://dl.acm.org/doi/10.1145/951761.951764 )
...but, no.  It's not in that paper.

Does the concept ring a bell?

Can anyone provide a pointer to where I might have seen it?

It's formed the basis of my own personal programming philosophy for nearly
50 years, and I want to know where I found it, or if I might have thought
of it myself.

thanks!

Stan

Reply via email to