FLEX(ID:287/fle003)

Simplification of Simula leading to Smalltalk 


Alan Kay Utah 1967/8

FLEX ? A flexible extendable language
M.Sc. thesis

Its use of associations led Kay (in his thesis) compare it to LEAP

Early object-oriented language for the FLEX machine. A simplification of Simula, and a predecessor of Smalltalk.


People:
Structures:
Related languages
ALGOL 60 => FLEX   Influence
EULER => FLEX   Influence
SIMULA 67 => FLEX   Subset
FLEX => PDP FLEX   Implementation
FLEX => SCRIBE   Subset
FLEX => Smalltalk   Evolution of

References:
  • Alan C. Kay "FLEX: an extensible simulation language which can be directly executed by computer" Computer Science Note, September 67, University of Utah, Salt Lake City view details
  • Kay, Alan C. "FLEX – A flexible extendable language" M.Sc. thesis 1968 at the University of Utah view details Extract: traditions
    [… FLEX] follows the traditions set by ALGOL 60 and several generations of EULER.
  • Alan C. Kay "The Reactive Engine" Ph.D. thesis 1969 University of Utah view details Extract: implimentations
    Two FLEX compilers have been programmed in ALGOL on the UNIVAC 1108 and have been running since mid-February 1968. Several partially successful attempts were made to combine the compilers with a number of the operating text editors at the University of Utah. The failures were partially due to the inadequacies of ALGOL as a real-time and process language in general, and in particular, to the very real defects of the UNIVAC version of ALGOL-60.

    Implementation of the interpreter has been severely delayed for several reasons – the main one being that it took longer than expected to work out a rationale for a segmenting and swapping system that would work on such a small scale.

    Current implementation is now taking place on an IBM 1130 partially because the machine can be dedicated most of the time to this task and partly also because it is small and does not tempt one into grandiose schemes.

    Implementation on a PDP-10 is also being contemplated.

    Future Expansion
    The process-oriented nature of FLEX should make it an ideal kernel for numerous discrete simulation schemes.

    A search for primitives in this as well as in the semantic transformation area is currently going on, and it is expected that some fruit will be available for plucking in the next month on this field of discourse.

    Application packages are also being studied with a view toward both allowing FLEX to do something useful and providing a test-bench on which to evaluate the system. To this end, the solid-state circuit design program developed by W.R. Sutherland on the TX-2 computer at Lincoln Laboratories is being eye-balled. FLEX and LEAP (the implementation language at Lincoln) share some properties – notably the ability to store and retrieve associations – and it will be interesting to notice the difference between the 256k words of fast memory on the TX-2 versus 4 to 8k smaller words on the FLEX machine.

    Resources