Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Parameter transmission abstractions
Jokinen M. The Computer Journal33 (2):133-139,1990.Type:Article
Date Reviewed: Jun 1 1991

Jokinen refers to the technique described here as a linguistic mechanism; it is used to define hidden actions like copying, type conversions, or assigning default values to optional parameters as part of parameter transmissions resulting from various forms of procedure calls (call-by-value, call-by-reference, call-by-name, and call-by-need). The basic idea is to have a programmer think in terms of transmission mechanisms “rather than in terms of types.” These linguistic mechanisms are to be defined “within the language.” No formal definition of linguistic mechanism is given; in fact, this paper is devoid of formal definitions. From the context, it appears that the author is thinking of a compiler (rather than a language) that supports runtime type checks and dynamic binding of values to parameters. Without explanation, these linguistic mechanisms are also called “abstraction mechanisms.” The author introduces a 12-line grammar for a “fully dynamic language” to express the abstraction mechanisms, but gives no explanation of “fully dynamic language.”

Ambiguously, the syntax of the language for abstraction mechanisms is supposed to be in “semiabstract form.” A tuple [e1,…,en] is said to be an ordered sequence of zero or more “data objects,” which are not defined. In fact, in the first page of this paper, the following terms are undefined: “actuals,” “data object,” “optional parameters,” “language,” “application-specific types,” “linguistic mechanism,” “parameter transmission,” “calling program” (procedure is meant), “called routine,” “abstract interface,” “abstraction mechanism,” “embedding an abstraction mechanism into languages,” and “semiabstract.” The lack of definitions of these key terms means readers will have to guess what is meant by the rest of the discussion. An environment is informally defined in English as a mapping from a finite set of strings into data objects. No explanation of “into” is given. Somehow, an environment is a “generalization of the record and package concepts.” The remainder of the paper continues in this manner: it contains informal discussions, a variety of code fragments written in the new language to define abstraction mechanisms, and implementation issues. Even though this paper was under development from 1987 until 1990, it reports that the proposed language has not been implemented.

Reviewer:  J. F. Peters Review #: CR123513
Bookmark and Share
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
 
Abstract Data Types (D.3.3 ... )
 
 
Extensibility (D.2.7 ... )
 
 
Formal Definitions And Theory (D.3.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Procedures, Functions, And Subroutines": Date
The usefulness of standard functions in Modula-2: an example in relation to VDI
So . Journal of Pascal, Ada & Modula-2 6(1): 5-9, 1987. Type: Article
Dec 1 1988
Routines: an argument against the conventional approach to functions and procedures
Middleton A. Software--Practice & Experience 16(2): 119-130, 1986. Type: Article
Dec 1 1986
Converting call-by-reference to call-by-value: Fortran and Lisp coexisting
Fateman R., Toy R.  Symbolic and algebraic computation (Proceedings of the 2003 international symposium, Philadelphia, PA, USA, Aug 3-6, 2003)95-102, 2003. Type: Proceedings
Jan 26 2004
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy