MODEF(ID:1100/mod007)

Revised Pascal with polymorphism 


Pascal-like language with polymorphism and data abstraction. 1984


Related languages
Pascal => MODEF   Influence

References:
  • Steensgaard-Madsen, Jòrgen "Pascal - Clarifications and Recommended Extensions" pp73-94 view details
          in Acta Informatica 12(1) June 25, 1979 view details
  • Hansson, H. and Steensgaard-Madsen, J. Document preparation systems, Software - Practice and Experience 11, (1981) view details
          in Acta Informatica 12(1) June 25, 1979 view details
  • Steensgaard-Madsen, J. "A statement-oriented approach to data abstraction" TOPLAS 3, 1 (Jan. 1981) view details
          in Acta Informatica 12(1) June 25, 1979 view details
  • Steensgaard-Madsen, J. "Modular programming with Pascal"SPE 11, (1981) view details
          in Acta Informatica 12(1) June 25, 1979 view details
  • Steensgaard-Madsen, J. "A skeleton interpreter for specialized languages", Programming Languages and System Design, ed. J. Bormann, North-Holland 1983 view details
          in Acta Informatica 12(1) June 25, 1979 view details
  • J. Steensgard-Madsen et al, "Definition of the Programming Language MODEF" view details
          in SIGPLAN Notices 19(02) February 1984 view details
    Resources
    • page by designer
      Subsequently I went on to design and implement a general programming language, called MODEF, with a Pascal-like type system. It allowed types to be parameters and did not depend on code specialization or expansion in the implementation. Subrange types with bounds determined at run-time were supported, and hence also dynamic arrays. Pointer types were absent. Another influential issue in the design of the language was modularity. external link
    • MODEF page
      Modularity and program development
      The programming language MODEF was designed to give syntactic support to a technique for writing modules in languages with the semantics of Pascal like languages. Such languages can be used to achieve `information hiding', automatic initialization and finalization of abstract data structures, and support for user-defined control structures (e.g. iterators.) The technique has been characterised as being statement-oriented.

      One distinct feature of MODEF is the appearance of program blocks where other languages would have required an identifier (referring to a procedure or function definition, say.) This proves very convenient, once the associated implicit introduction of parameters in such block-arguments can be mastered. This feature implies separate description of interfaces that are far more general than ordinary module interfaces.

      The pragmatics of modular programming according to the statement-oriented approach has been investigated. The technique was used in a major program development project, where a program evolved over a period of about 10 years with massive, unforeseen users' requests being accomodated smoothly.

      external link