Suvarna Garge (Editor)

FOCAL 69

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

FOCAL-69 was the landmark version of the FOCAL programming language, more widely publicized than the original version of the language created in 1968. FOCAL-69, created by Richard Merrill is important because:

  • It was the basis for all later derivatives of the language (some of which branched off from one another)
  • It was the language the classic BASIC game Hamurabi was first written in
  • It became a popular language on Russian microcomputers.
  • Influence of JOSS

    Merrill clearly derived FOCAL-69 from JOSS:

  • FOCAL-69 borrows the JOSS innovation of requiring every line of the program to have a line number. (Prior to that, FORTRAN had optional line numbers.)
  • FOCAL-69 line numbers, like JOSS line numbers and unlike Dartmouth BASIC line numbers, were real numbers rather than integers.
  • The DO, SET and TYPE commands are simplified versions of the corresponding JOSS commands.
  • FOCAL-69 was a concise simplification of JOSS, with the simplicity required for the PDP-8, a minicomputer as opposed to the mainframe that JOSS was developed for.

  • The syntax is less wordy (e.g., "DO PART 20" becomes "DO 20").
  • The syntax is simpler (e.g., the JOSS statement "SET S=P, P=Q, Q=S" requires three statements in FOCAL-69: "SET S=P; SET P=Q; SET Q=S").
  • Shorter words are substituted for longer commands, and command words are designed to each have a unique first letter. So JOSS "DEMAND" becomes FOCAL-69 "ASK" (abbreviation A, as D would collide with DO) and JOSS "STOP" becomes "QUIT" (as "SET" was in use).
  • IF statements may not be appended to other statements.
  • FOCAL-69 had only a single built-in looping keyword ("FOR" as opposed to "WHILE").
  • Some early (non-standard) MUMPS implementations took ideas from FOCAL before the ANSI Standardization of MUMPS.
  • References

    FOCAL-69 Wikipedia