Language and Architecture Paradigms as Object Classes

Computer language paradigms offer linguistic abstractions and proof theories for expressing program implementations. Similarly, system architectures offer the hardware abstractions and quantitative theories applicable to the execution of compiled programs. Although the two entities are usually treated independently, object-oriented technology can be used to obtain a unifying framework. Specifically, inheritance can be used to model both programming languages as extensions to the assembly language executed by the target architecture, and system architectures as the root class of those paradigms. We describe how these principles can be used to model, structure and implement real multiparadigm systems in a portable and extendable way.

[1]  Mark B. Wells Multiparadigmatic programming in modcap , 1989 .

[2]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[3]  Peter Wegner Guest Editor's Introduction to Special Issue of Computing Surveys on Programming Language Paradigms , 1989, ACM Comput. Surv..

[4]  Brent Hailpern Guest Editor's Introduction Multiparadigm Languages and Environments , 1986 .

[5]  P. C. Treleaven Parallel computers: object-oriented, functional, logic , 1990 .

[6]  Daniel G. Bobrow,et al.  Integrating Access-Oriented Programming into a Multiparadigm Environment , 1986, IEEE Software.

[7]  Brent Hailpern Multiparadigm Research: A Survey of Nine Projects (Introduction) , 1986, IEEE Softw..

[8]  E. Schmidt,et al.  Lex—a lexical analyzer generator , 1990 .

[9]  Bertrand Meyer,et al.  Lessons from the design of the Eiffel libraries , 1990, CACM.

[10]  D. Eckberg,et al.  The Paradigm Concept and Sociology: A Critical Review , 1979 .

[11]  Ian Foster,et al.  Strand: New Concepts in Parallel Programming , 1990 .

[12]  T. Kuhn,et al.  The Structure of Scientific Revolutions. , 1964 .

[13]  William R. Cook,et al.  Interfaces and specifications for the Smalltalk-80 collection classes , 1992, OOPSLA.

[14]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[15]  Niklaus Wirth,et al.  From programming language design to computer construction , 1985, CACM.

[16]  Sydney Gregory,et al.  Paradigms and revolutions , 1982 .

[17]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[18]  Diomidis Spinellis,et al.  Implementing Haskell: Language Implementation as a Tool Building Exercise , 1993, Struct. Program..

[19]  Pamela Zave,et al.  A compositional approach to multiparadigm programming , 1989, IEEE Software.

[20]  Peter Wegner,et al.  Concepts and paradigms of object-oriented programming , 1990, OOPS.

[21]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[22]  Michael L. Nelson,et al.  An object-oriented Tower Of Babel , 1991, OOPS.

[23]  JACQUES COHEN,et al.  Describing Prolog by its interpretation and compilation , 1985, CACM.

[24]  Professor Dr. Niklaus Wirth,et al.  Programming in Modula-2 , 1982, Springer Berlin Heidelberg.

[25]  Tarmo Uustalu,et al.  Combining Object-Oriented and Logic Paradigms: A Modal Logic Programming Approach , 1992, ECOOP.

[26]  R. Carnap,et al.  INTERNATIONAL ENCYCLOPEDIA OF UNIFIED SCIENCE. , 1939, Science.

[27]  N. Wirth 1984 ACM A.M. turing award recipient. From programming language design to computer construction , 1985 .