History of FOCAL
Bruce Ray, editor - Bruce@Wild-Hare.com - Wild Hare Computer Systems Inc.
Software Preservation Group
Computer History Museum
"... I took an editor, a floating point package and the specs for the JOHNNIAC Open Shop System (JOSS) and ideas from the Massachusetts General Hospital Utility Multi-Programming System (MUMPS) and wrote an interpreter that would do the user's job on the spot and interactively. This program became known as Formula Calculator (FOCAL)." - Rick Merrill
FOCAL - The Beginning
"Back in Maynard I took an editor, a floating point package and the specs for the JOHNNIAC Open Shop System (JOSS) and ideas from the Massachusetts General Hospital Utility Multi-Programming System (MUMPS) and wrote an interpreter that would do the user's job on the spot and interactively.
I remember thinking that I wanted a single letter for each command not only for the simple branch table but also for debugging. I did not want to have to remember an octal code for each command but to be able to see in the code the letter itself that DDT could display. I eschewed pre-compiling as a waste of time.
I gathered the code for the editor and the floating point package (probably developed by Henry Burkhart) and got them to assemble together eliminating duplicate symbols and other bookkeeping issues. This was the top-down stage. Then I realized that my branch tables used full word addresses and would therefor flow across the page ends, wasting no space because of local page sizes. So I began coding from the bottom-up stage with SORTJ, PUSHJ, POPJ, ETC.
I acquired the "JOSS Apologetica" which was really helpful in distinguishing the commands so that there was no overlap. Then I found that the semicolon could fore-shorten commands in generally useful ways. Adding buffered interrupts came later and made a huge difference.
This program became known as Formula Calculator (FOCAL)." [Rick Merrill, told to Bruce Ray, 2024(?)]
Development Timeline
Year | Description |
---|---|
1968 | Initial FOCAL release (for PDP-8) |
1971 | FOCAL available on all commercial DEC machines (PDP-5/7/8/9/10/11/12/15)
Nova 800 running PDP-8 emulator running FOCAL 69 at Data General booth at FJCC (Las Vegas) |
1977 | Intel 8080-based systems
MOS Technology 6502-based systems |
1978 | DEC VAX computers |
1980 | Texas Instruments TI-990 |
2000 and beyond | Ports for any machine with a 'C' compiler (i.e. micros, IBM 360/370, .etc) |
Materials from Developer
Rick Merrill has donated his original FOCAL archives to the Computer History Museum and made PDF reproductions available for downloading here. Donated items include computer listings, marketing literature, client comments.
Of particular significance are Rick's personal notes ['Rick_Merrill_FOCAL_Notes_and_Background.pdf'] and the first FOCAL manual ['DEC_08-AJBA-DL__FOCAL_Technical_Specifications__1968.pdf'].
Personal Documents
- “Rick Merrill – FOCAL Notes_and_Background”, 2024. PDF
- Westwood Public Schools, Project Local, TSS-8 FOCAL 'thank you' letter to Rick Merrill. PDF
- "Sales Engineering", 1968, 4-page Digital sales brochure, Rick Merrill's picture on cover. PDF
- Richard M. Merrill business card, 1966, Digital Equipment Corporation. PDF
- Samples of FOCAL user compliments received by Rick Merrill, personal memorabilia. PDF
Technical Documents
- DEC-08-AJBA-DL, FOCAL Technical Specifications, 1968, paper manual. PDF
- DECUS FOCAL-17, "FOCAL: How To Write New Subroutines and Use Internal Routines", Doug Wrege, 1970, paper manual. PDF
- PS/8 FOCAL, 1971, OMSI Development Group, paper manual. PDF
- DEC-08-XJFA-D, FOCAL Demonstration Programs, 1970, paper manual, (only copy known to exist). PDF
- pdp8/i-pdp8/L FOCAL, language summary reference card, 8-pages, 1969. PDF
- pdp9-pdp9/L FOCAL, language summary reference card, trifold, 1969. PDF
- pdp15 FOCAL, language summary reference card, trifold, 1970. PDF
Listings
- FOCAL language source line printer listing (PDP-8 computer PAL assembler), blue computer binder. PDF
- DEC-12-AJAA-LA, FOCAL-12 Listing, 1971, paper document. PDF
Marketing
- "Sales Engineering", 1968, 4-page Digital sales brochure, Rick Merrill's picture on cover. PDF
- "focal, a new conversational language”, orange-cover brochure, 36-pages. PDF
- “FOCAL Party Line”, paper brochure, 6 pages, 1969. PDF
- "FOCAL Lets You Tame a Computer”, 4 page brochure, 1969. PDF
Interesting Mentions
- Rick Merrill. "Program your minicomputer in FOCAL". Electronic Design article, July 19, 1970.
- "Excuse me [Microsoft], has an anybody seen the FOCAL interpreter?",
- Mike Bedford. "Relive classic FOCAL days on your PDP-11". Linux Format article, May 2023.
- "Three Days of the Condor". Movie,1975. Shows FOCAL on PDP-8/E.
Resources
- DEC FOCAL in bitsavers.org document collection.
- (in future:) CJL archives (Wild Hare Computer Systems)
- (in future:) FOCAL preservation page (Wild Hare Computer Systems)
- www.archive.org ***** Can you give specific URLs or queries?
- FOCAL (programming language). In Wikipedia. Retrieved 19 December 2024, from https://en.wikipedia.org/wiki/FOCAL_(programming_language).
- DECUS library. ***** How does one access it?
- Ken Martin. DEC FOCAL language manuals and information. https://github.com/kenmartin-unix/DEC-FOCAL-Manuals-and-Info
Other implementations
- Dave Pitts. FOCAL interpreter. Written in C.
- Dave Pitts home page
- .tar.gz at cozx.com/dpitts
- Amndrew Savinykh. Fork(?) at github.com/AndrewSav/focal-69
- Diana Tikhonova. Focal interpreter. Written in C. https://github.com/dixitix/focal-interpreter
Acknowledgments
Thanks to Rick Merrill, Paul McJones, and the proprietors of all the web sites linked to above.