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.
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@...
New Zealand
On 3/22/07, John Carter <john.carter@...> wrote:
> With the recent death of John Backus, his Turing Award paper hasWhich parts are relevant to Joy? As I scan the paper, particularly
> 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.
>
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
> On 3/22/07, John Carter <john.carter@...> wrote:Here is a snippet which I think is relevant:
> > 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
"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
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" <cdiggins@...>
Sent by: concatenative@yahoogroups.com
03/22/2007 11:57 PM
Please respond to
concatenative@yahoogroups.com
To
concatenative@yahoogroups.com
cc
Subject
Re: [stack] Backus's Turing Award Lecture and Joy.
> On 3/22/07, John Carter <john.carter@...> wrote:Here is a snippet which I think is relevant:
> > 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
"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]
it's been a while since i've read backus' turing award
lecture, but if i'm not mistaken he credits ken iverson's
work on APL. ken's own turing lecture may return the
compliment, but again, i'm not sure. in any event, there
was a certain degree of mutual feedback APL -> FP -> J,
especially with respect to the latter's "tacit form",
i.e. variable-free J. people close to ken might be able
to document the interaction in more detail, but as i
recall, the general take on FP in the APL community was
that "APL did it better" (what else would you expect?)
i think it's interesting that programmers consider FP
backus' most significant achievement, while obituarists
have invariably singled out his authorship of Fortran.
even john derbyshire, who really ought to know better,
memorializes him this way:
In That Dawn [John Derbyshire]
John Backus, who invented the FORTRAN language, has died at age 82.
This news will be of interest to old mainframe-heads, and to nobody else at all.
I must say, I never warmed to FORTRAN. It had a sort of angular clunkiness about it that was apparent even in the 1960s. That FORMAT statement-hoo-ee!
The inherent inefficiency of any high-level language in any case grated on my pure-math sensibilities. I was an Assembler guy at heart, "coding down to the metal."
Nobody does that any more, and computers are just boring now, like cars. I increasingly find I have to drag myself to the keyboard nowadays. Boy, was it exciting at the time, though!
Bliss was it in that dawn to be alive,
But to be young was very heaven!
etc., etc.
03/23 10:42 AM
http://corner.nationalreview.com/post/?q=ODQ5MDQ1NTM2NTY2NjkwMjE0MTk0ZWFiZjcwMzZjNTg=
----- Original Message -----
From: rodprice@...
To: concatenative@yahoogroups.com
Sent: Friday, March 23, 2007 3:00 PM
Subject: Re: [stack] Backus's Turing Award Lecture and Joy.
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" <cdiggins@...>
Sent by: concatenative@yahoogroups.com
03/22/2007 11:57 PM
Please respond to
concatenative@yahoogroups.com
To
concatenative@yahoogroups.com
cc
Subject
Re: [stack] Backus's Turing Award Lecture and Joy.
> On 3/22/07, John Carter <john.carter@...> 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]
[Non-text portions of this message have been removed]
>i think it's interesting that programmers consider FPEven in the current programming language renaissance, FP and FL have gotten
>backus' most significant achievement, while obituarists
>have invariably singled out his authorship of Fortran.
near zero use. J and K have niches, but I have never seen a substantial--or
significantly interesting--program in FP.
I would love to see examples of FP programs that have the same mind-blowing
effect as some of the J and K programs I've come across.
rodprice@... <rodprice@...> wrote:
> So I wonder... If a statically typed, well thought out language likestrongForth is far from Cat's abilities, but it's probably worth
> 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?
noting that its typechecking was originally developed to help the
author manage all the different ways to access memory on the embedded
processor he was programming for.
http://home.vrweb.de/stephan.becher/forth/doc/chapter2.htm
> -Rod-Billy