Re: [stack] Backus's Turing Award Lecture and Joy.

[email protected]
Newsgroups gmane.comp.lang.concatenative
Message-ID <OF304142ED.FABE8F91-ON862572A7.00605AC3-872572A7.006DECAE@us.ray.com>
Perhaps (just a speculation) part of the reason that concatenative
languages are a hard sell among academic computer scientists
is the very fact that this famous 30-year old paper advocated a 
point-free style.  Backus was by any measure a giant in the field --
you could not ask for a better spokesman -- so the idea certainly
was given due consideration.  It may be that people feel that the
idea (point-free programming, that is) was tried out and failed.

I think that Christopher is wise to present his language as a typed
intermediate language that can be targeted by "higher-level"
languages.  That's a niche where Cat might obtain a foothold.
There is some serious competition, however.  The Java virtual
machine and .Net come to mind.

Another niche that I have been interested in for years is embedded
programming, particularly on the really small chips, such as the 
Motorola HC08 8-bit chips and the Texas Instruments MSP430 16-
bit chips.  http://focus.ti.com/mcu/docs/mcuhome.tsp?sectionId=101
The state of programming on these chips is amazingly crude: 
usually a subset of C with some hacky ad-hoc extensions, or even 
assembly.  The chip manufacturers understand this, but their 
attempts at solutions invariably fall flat because they try to jump all 
the way to a completely visual programming paradigm.  There's 
only so much you can do by dragging around icons and drawing 
lines between them.

Forth, Inc and one or two other companies are ekeing out a living
by offering Forth systems for programming these chips.  Forth, IMHO,
is a step above the run-of-the-mill C solutions because it has such
a tight loop between writing code and testing it.  It's the same 
advantage that Lisp and Scheme systems have for programming
larger-scale systems -- the read-eval-print loop (REPL) gives nearly
instant feedback.  Forth and Lisp share another characteristic, a
nearly complete lack of syntax, that unfortunately seems to put off
many programmers.

So I wonder... If a statically typed, well thought out language like
Cat was implemented for one of these tiny processors, and was
supplied with the same REPL-like environment as Forth, could it
find another niche there?

-Rod






"Christopher Diggins" <[email protected]> 
Sent by: [email protected]
03/22/2007 11:57 PM
Please respond to
[email protected]


To
[email protected]
cc

Subject
Re: [stack] Backus's Turing Award Lecture and Joy.






> On 3/22/07, John Carter <[email protected]> wrote:
> > With the recent death of John Backus, his Turing Award paper has
> > reemerged into the light...
> >
> > http://www.stanford.edu/class/cs242/readings/backus.pdf
> >
> > It is remarkably relevant in terms of discussing why Joy (and related
> > languages) are such a Good Idea.
> >
>
> Which parts are relevant to Joy? As I scan the paper, particularly
> the section-by-section summary at the end, I see some criticism of the
> prevalent style of programming. That seems relevant. But it looks
> like this 30 year old paper was advocating applicative state
> transition (AST) systems. Is there a connection between AST and Joy?
>
> --Joe

Here is a snippet which I think is relevant:

"In this section we give an informal description of a
class of simple applicative programming systems called
functional programming (FP) systems, in which "programs"
are simply functions without variables. The description
is followed by some examples and by a discussion
of various properties of FP systems.
An FP system is founded on the use of a fixed set of
combining forms called functional forms. These, plus
simple definitions, are the only means of building new
functions from existing ones; they use no variables or
substitution rules, and they become the operations of an
associated algebra of programs. All the functions of an
FP system are of one type: they map objects into objects
and always take a single argument.
In contrast, a lambda-calculus based system is
founded on the use of the lambda expression, with an
associated set of substitution rules for variables, for
building new functions. The lambda expression (with its
substitution rules) is capable of defining all possible
computable functions of all possible types and of any
number of arguments. This freedom and power has its ... "

Clearly Backus felt that there was elegance to a point-free language.

I would still like to hear John's response though, because he may have
some useful insights to share on the paper. I have a hard time
convincing others of the value concatenative style languages and I'd
like to know how to better leverage this paper.

Christopher Diggins
http://www.cdiggins.com
 


[Non-text portions of this message have been removed]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.