Programming languages

FLACC: ALGOL 68 Compiler

FLACC: The Full Language ALGOL 68 Checkout Compiler

In the early days of computing, various programming languages emerged, each contributing to the evolving landscape of software development. One such language was ALGOL 68, which was notable for its complex structure and rich feature set. Among the various implementations of ALGOL 68, one of the more unique and historically significant projects was FLACC (Full Language ALGOL 68 Checkout Compiler). Released in 1977, FLACC was the result of a collaboration between Chris Thomson and Colin Broughton, who founded the Chion Corporation. This compiler and run-time system were designed to provide full support for the Revised Report of ALGOL 68, offering a precise and reliable tool for developers working on IBM 370 mainframes.

Origins and Development

ALGOL 68, the language FLACC was based on, was a powerful but challenging programming language that arose from the evolution of ALGOL 60. ALGOL 68 aimed to address some of the limitations of its predecessor, incorporating a more robust and flexible syntax. Developed by a group of prominent computer scientists, ALGOL 68 was intended to be a highly general-purpose language capable of describing both low-level operations and abstract mathematical algorithms.

The development of FLACC was initiated by Chris Thomson and Colin Broughton under the auspices of the Chion Corporation. Chion, founded as a company specializing in advanced computing solutions, sought to create a tool that could effectively implement ALGOL 68 on the IBM 370 series of mainframes. The project would produce a compiler and run-time system that adhered closely to the Revised Report of ALGOL 68, ensuring that all features of the language were correctly supported.

In a time when many computer systems were proprietary and isolated, the IBM 370 mainframe series was a dominant force in the industry. It ran multiple operating systems, including MVS (Multiple Virtual Storage), CMS (Conversational Monitor System), and MTS (Michigan Terminal System). FLACC was designed to function seamlessly across these environments, offering the flexibility necessary for developers working on these platforms.

Features and Capabilities

The core selling point of FLACC was its compliance with the Revised Report of ALGOL 68, which meant that the compiler and its runtime system conformed closely to the specifications laid out for the language. This was important because, despite ALGOL 68’s academic and theoretical merits, its implementation was often inconsistent or incomplete. FLACC sought to eliminate this issue by offering a fully functional system that worked as expected, running on the IBM 370 mainframe family.

The FLACC compiler featured a number of advanced capabilities, including debugging tools derived from the WATFIV debugger. WATFIV, an early debugging system developed for the FORTRAN programming language, was well-regarded for its ability to trace and debug complex programs. By integrating features from WATFIV, FLACC provided users with a more user-friendly experience when debugging ALGOL 68 programs, an important step for making the language more practical for real-world applications.

Additionally, FLACC was designed with a robust runtime system, ensuring that programs compiled with the system would perform reliably and efficiently. Although its focus was on ALGOL 68, FLACC included certain optimizations that allowed it to run on the relatively resource-constrained hardware of the time. Despite its advanced features and reliable performance, FLACC never gained widespread adoption, particularly in North America.

The Challenges of Marketing and Adoption

Despite the technical merits of FLACC, its adoption was limited. According to Thomson, who reflected on the project years later, only 22 copies of the FLACC system were ever installed, and fewer than five of those were in North America. Given that FLACC was marketed as a tool for ALGOL 68 on IBM 370 systems, its potential audience was quite niche. Additionally, its relatively limited distribution was compounded by marketing challenges.

Thomson himself described the situation as a “marketing disaster,” noting that despite the system’s robust functionality, it never achieved the widespread recognition it deserved. There were several factors that likely contributed to this outcome. For one, the computing industry in the 1970s was marked by rapid innovation, and many companies were focused on creating their own proprietary tools or pursuing emerging languages that offered clearer advantages for specific applications. The fact that ALGOL 68 was not as widely adopted as other languages such as FORTRAN or COBOL meant that FLACC’s potential user base was limited from the outset.

Additionally, the marketing and distribution of FLACC faced significant hurdles. As Thomson noted, the system was both inexpensive and reliable, yet it failed to capture the attention of the broader computing community. Whether due to the general complexity of ALGOL 68, the rise of other programming languages, or the specific marketing challenges faced by Chion Corporation, FLACC’s story is a reminder of the difficulties in popularizing even the most technically impressive software solutions.

The Legacy of FLACC

Today, FLACC is largely forgotten in mainstream computer science history, but its contribution to the development of ALGOL 68 and its role as one of the early compilers for the IBM 370 mainframes should not be overlooked. The work done by Chris Thomson and Colin Broughton in creating a full implementation of ALGOL 68 was an impressive technical achievement, and FLACC served as a testament to the capabilities of the ALGOL family of languages.

Chris Thomson’s reflections on FLACC are telling. Despite the compiler’s limited success, Thomson noted that it was a reliable and functional tool for its time, offering developers a much-needed solution for working with ALGOL 68 on the IBM 370. While its reach was narrow, FLACC served an important role in the history of computing, particularly within the context of the ALGOL 68 language.

Conclusion

FLACC, as an implementation of ALGOL 68, represents a unique chapter in the history of programming language development. Its creators, Chris Thomson and Colin Broughton, sought to build a comprehensive tool that conformed fully to the Revised Report of ALGOL 68, and in doing so, they contributed significantly to the legacy of the language. While FLACC was ultimately unsuccessful in achieving widespread adoption, its technical achievements and the challenges it faced in a competitive, rapidly evolving computing landscape are worth recognizing. The story of FLACC serves as a reminder of the difficulties in marketing innovative technology, even when it is technically sound and reliable. Today, FLACC remains an interesting, if obscure, part of the history of ALGOL 68 and the development of compilers for mainframe systems in the late 20th century.

Back to top button