Journal Article10.1145/382080.382628
Identifiers and static name abstraction
TL;DR: This paper discusses a scheme recently incorporated into Modcap that both mitigates this deficiency and allow s more readable identifiers.
read more
Abstract: Identifiers are used in programming systems to name assorted quantities such as variables, functions , fields, exceptions, files, and labels . The form of an identifier varies from programming language to programming language and sometimes from use to use within a single language or system . However, there i s increasingly a common intersection among modern languages with respect to identifier syntax . For instance , most languages now require an identifier to begin with a letter, allow mixed letters and digits after that, an d utilize an underscore to emulate a hyphen or space in long identifiers . While satisfactory, there are times when more readable programs would be possible if other characters such as operator symbols, punctuation symbol s or blank spaces were permitted within identifiers . More important than the form of identifiers is their concordant use. In the Modcap programmin g language [We185/87/89], identifiers (apart from twelve reserved words) are used only to name \"variables\" o f the various preand user-defined set-theoretic types . The quotation marks are used here because a variable with a very small (e .g., singleton) type cannot actually vary ; it is effectively a named constant . This consistency has the significant benefit that the user has only one set of name-scope rules to learn. The mos t annoying negative aspect has been the lack of a simple mnemonic field referencing facility for structures . This paper discusses a scheme recently incorporated into Modcap that both mitigates this deficiency and allow s more readable identifiers . The idea is to allow static strings to be used as identifiers . This was feasible because of the existence of advanced features such as first-class multivalued functions and automatic stati c instantiation (in-line code substitution) within the language . It is a natural extension to Modcap's existin g naming facilities that essentially and effectively subsumes the field-referencing notation of Pascal and th e object-oriented notation of Smalltalk . Once discovered, it was fully implemented in less than two days .
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
References
On removing the machine from the language
TL;DR: This paper proposes a simpler view of some basic language elements (variable, assignment, parameter), not based on the authors' machines, that is safe without restriction, and a single, simple structure is applied to both values and assignments that yields equivalents for the “safe set” of data and control structures.
5
A potpourri of notational pet peeves (and their resolution in modcap)
TL;DR: This paper discusses some of the author's pet peeves regarding common language notations and describes how the Modcap language avoids them and has four sections -character sets, identifiers, page formatting, and expressions -followed by a brief conclusion.
4
Libraries as programs preserved within compiler continuations
TL;DR: An approach to library organization for block-structured languages is given that avoids corrupting such structuring with the introduction of “modules”, “units’, or “packages”.
4
•Book
Smalltalk-80: The Language and its Implementation
Adele E. Goldberg,David Robson +1 more
- 01 Jan 1983
TL;DR: This book is the first detailed account of the Smalltalk-80 system and is divided into four major parts: an overview of the concepts and syntax of the programming language, a specification of the system's functionality, and an example of the design and implementation of a moderate-size application.