This chapter proposes a pilot version of the ELF (English-like formalism) programming language. ELF is a fifth-generation language designed to incorporate some of the characteristics of other AI tools (such as STRIPS, PLANNER, MYCIN, production systems, logic programming, and expert systems) while functioning in real time. It is a formal language that resembles English and can be translated into an extended Prolog.
The author introduces ELF by first describing a subset of Prolog. He then argues that Prolog is too low-level, calling it an “ergonomic disaster” because of the difficulty of interpreting Prolog code precisely. He states his goals for ELF with the slogan “ELF is to Prolog as BASIC is to assembler.” The author covers most of the features of ELF in this way and presents some examples of ELF code.
In the rest of the paper the author discusses Prolog’s flaws. He stresses the need to eliminate backtracking, arguing that “failure” means too many things. He advocates making set representation, function recognition, preconditions, actions, and time explicit, and he also calls for the elimination of data structures. The author backs all of his points with concrete examples. The chapter ends with notes on the parser and the user, some concluding remarks, and a list of references.
This excellent technical paper has some interesting ideas, and its proposals for further work will interest many AI researchers. ELF has not been implemented, though, and because interpreting the description given by the user will use vast computational resources, it will probably be difficult to implement on sequential machines. Prolog, which the author refers to as a “logic assembler,” will therefore retain its position as a basic AI tool for a long time.