DECUS-10-118 BlissRefMan Apr71

Order Number: XX-48E29-5B

This document is the BLISS Reference Manual (DECUS No. 10-118), providing a definitive description of the BLISS language as implemented for the PDP-10 computer.

Authored by W. A. Wulf, D. Russell, and others from the Computer Science Department at Carnegie-Mellon University, and initially published in January 1970 (with revisions through April 1971), BLISS is designed as a higher-level "implementation language" specifically for writing system software, such as compilers and operating systems, for the PDP-10. Its primary goals include enhancing documentation, clarity, correctness, and modifiability, aiming to reduce or eliminate the need for assembly language.

Key characteristics and design principles of BLISS tailored for systems programming include:

  • Efficiency: Focus on space and time efficiency, with direct access and control over machine-specific features.
  • Data Structures: Provides facilities for explicitly defining data structure accessing algorithms, avoiding implicit representations.
  • Minimal Run-time Support: Designed to operate without requiring extensive run-time support routines, enabling code execution on a "bare machine."
  • Flexible Control Structures: Offers various control expressions (conditional, loop, escape, co-routine) and deliberately omits the goto statement to promote structured programming.
  • Modularization and Parameterization: Supports the creation of independent modules and flexible program parameterization.
  • Low-Level Access: Includes unique operators for direct manipulation of bit fields and memory (e.g., . for contents of, <pointer parameters> for byte addressing), character manipulation functions, and the ability to insert PDP-10 machine language instructions.
  • Co-routine Expressions: Facilitates the creation and management of co-routines for asynchronous and potentially parallel processes.
  • Macros: Features a limited macro facility for syntax extension and in-line code generation.

The manual also details the run-time representation of BLISS programs (including registers, stack organization, and variable access mechanisms) and provides insight into the implementation of the BLISS compiler. The work was supported by the Advanced Research Projects Agency (ARPA).

XX-48E29-5B
April 1970
110 pages
Quality

Original
3.3MB

Site structure and layout ©2025 Majenko Technologies