Planner (programming Language) - Control Structure Controversy

Control Structure Controversy

As related in Hewitt, computer memories were very small by current standards because they were expensive, being made of iron ferrite cores at that time. So Planner adopted the then common expedient of using backtracking control structures to economize on the use of computer memory. In this way, the computer only had to store one possibility at a time in exploring alternatives.

One implementation decision in Micro Planner had unfortunate consequences. Lisp had adopted the programming pun of identifying NIL, the empty list with logical false (at memory location 0) because testing for 0 was faster than anything else. Because of the pun, testing for NIL was extremely common in Lisp programs. Micro Planner extended this pun also to use NIL as a signal to begin backtracking. In Micro Planner, it was common to write programs to perform some operation on every element of a list by using a loop to process the first element of a list, take the rest of the list, and then jump back to the top of the loop to test if the list was empty. If the list tested empty, then the program would go on to do other things. Such a program never made it to testing the empty list after processing all the elements because when the last element was processed and the rest of the list was taken, NIL was returned as a value. The Micro Planner interpreter took this as the signal to begin backtracking and began undoing all the work of processing the elements of the list! People were dumbfounded .

In this and several other ways, backtracking proved unwieldy, helping to fuel the great control structure debate. Hewitt investigated some alternatives in his thesis.

Read more about this topic:  Planner (programming Language)

Famous quotes containing the words control, structure and/or controversy:

    “Have we any control over being born?,” my friend asked in despair. “No, the job is done for us while we’re sleeping, so to speak, and when we wake up everything is all set. We merely appear, like an ornate celebrity wheeled out in a wheelchair.” “I don’t remember,” my friend claimed. “No need to,” I said: “what need have us free-loaders for any special alertness? We’re done for.”
    Marvin Cohen, U.S. author and humorist. The Self-Devoted Friend, New Directions (1967)

    If rightly made, a boat would be a sort of amphibious animal, a creature of two elements, related by one half its structure to some swift and shapely fish, and by the other to some strong-winged and graceful bird.
    Henry David Thoreau (1817–1862)

    And therefore, as when there is a controversy in an account, the parties must by their own accord, set up for right Reason, the Reason of some Arbitrator, or Judge, to whose sentence, they will both stand, or their controversy must either come to blows, or be undecided, for want of a right Reason constituted by Nature; so is it also in all debates of what kind soever.
    Thomas Hobbes (1579–1688)