Modula-2+(ID:1101/mod021)

Extension to Modular 2 permitting exceptions and threads 


P. Rovner et al, DEC SRC, Palo Alto CA, 1984. Exceptions and threads.


People:
Related languages
Modula-2 => Modula-2+   Extension of
Modula-2+ => Modula-3   Evolution of

References:
  • van Leunen. M-C "Modula-2+ User's Manual", DEC 1984 view details
  • Rovner, P. "Extending Modula-2 to Build Large, Integrated Systems" view details
          in IEEE Software 3(06) Nov 1986 view details
  • Wortman, David B. and Junkin, Michael D. "A concurrent compiler for Modula-2+" pp68-81 view details Abstract: In this paper we describe a collection of techniques for the design and implementation of concurrent compilers. We begin by describing a technique for dividing a source program into many streams so that each stream can be compiled concurrently. We discuss several compiler design issues unique to concurrent compilers including source program partitioning, symbol table management, compiler task scheduling and information flow constraints. The application of our techniques is illustrated by a complete design for a concurrent Modula-2+ compiler. After describing the structure of this compiler's performance that demonstrates that significant improvements in compilation time can be achieved through the use of concurrency DOI Extract: Reasons for choosing Modula-2+
    To provide a realistic environment for developing and
    evaluating our ideas we built a prototype concurrent compiler
    [JW90] for the Modula-2+ superset of Modula-2
    [Rov86]. Modula-2+ was chosen as the target language
    partly for reasons of expediency (i.e. availability of an
    existing compiler that served as a starting point) , but primarily
    because Modula-2+ is a large modern programming
    language that presented many challenges to the language
    implementor. We felt that if we could produce an efficient
    compiler for Modula-2+ then it would be easy to handle languages
    that are easier to compile concurrently such as Pascal
    and C. During the CCD project we implemented seven
    major variations of our concurrent compiler design to test
    various implementation strategies. The compiler described
    in this paper is the ?best of 7? compiler that represents the
    culmination of our efforts.
          in SIGPLAN Notices 27(07) July 1992 (Proceedings of the 5th ACM SIGPLAN conference on Programming language design and implementation, 22-31, San Francisco, June 1992) view details
    Resources
    • Programming languages and compilers by Butler Lampson
      Modula 2+ (1984-86): With Paul Rovner and others, I designed extensions to Modula 2 which provide a safe subset, automatic storage deallocation, runtime types, exceptions, and concurrency. The language has been used at SRC and several universities to write more than a million lines of code [P. Rovner, Extending Modula 2 to build large, integrated systems. IEEE Software 3, 6 (Nov. 1986)].external link