# Backus's Turing Award Lecture and Joy.

## John Carter — 2007-03-23 03:53:54

    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

## Joe Bowbeer — 2007-03-23 05:38:33

    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

## Christopher Diggins — 2007-03-23 05:57:21

    > 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

## rodprice@raytheon.com — 2007-03-23 20:00:40

    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]

## stevan apter — 2007-03-23 22:08:58

    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]

## James Hague — 2007-03-23 21:48:50

    >i think it's interesting that programmers consider FP

    >backus' most significant achievement, while obituarists

    >have invariably singled out his authorship of Fortran.

     Even in the current programming language renaissance, FP and FL have gotten

    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.

## William Tanksley, Jr — 2007-03-25 16:49:44

    rodprice@... <rodprice@...> wrote:

     > 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?

     strongForth is far from Cat's abilities, but it's probably worth

    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