This document describes FOCL/F, an extended version of the 8K FOCAL/69 programming language designed for the DEC PDP-8 computer. FOCL/F aims to increase the power and versatility of the FOCAL language for scientific, engineering, and data-acquisition environments.
Key features of FOCL/F include:
- User-Defined Functions: Allows programmers to define up to ten recursive functions (F0-F9) and a general-purpose function using a "LET" command, significantly saving core memory and time.
- Interrupt Handling: Provides the ability to insert user-defined device codes directly into the interrupt chain, allowing for the management of non-standard devices without needing complex machine-language patches.
- Arrayed Variables: Supports up to eight one-dimensional arrayed variables, optimizing core storage and improving execution speed via direct address computation.
- PS/8 Compatibility: Includes an overlay for PS/8 environments that enables device-independent file handling, program calling/saving, and ASCII I/O, facilitating more efficient data management.
- Language Improvements: Includes advanced features such as machine-language instruction execution via FX functions, line number computation, a line continuation character (ALTMODE), extended command terminators, and improved error messaging.
The document provides extensive technical specifications, instructions on command usage (including LIBRARY, PROGRAM, and VARIABLE commands), loading procedures for different hardware configurations, and a comprehensive diagnostic table of error messages. It serves as a user manual for researchers and engineers using FOCL/F for interactive programming and experiment control.