Solving the problem of overloading for the CMSL programming languages
One of the most important, not yet achieved, goals in the computer science field is to design a language that approximates natural languages. In any natural language the same word can have more than one meaning. The distinction between the different meanings of a word comes from its context of use in different sentences. This is the problem in the widest view, but some of the prominent computer programming languages have adopted the concept of overloading, each in different way. Ada allows operator, enumeration, and subprogram name overloading but it does not allow variable name overloading within the same scope. Modula and Pascal allow a restricted form of overloading on literals and operators but then do not allow overloading for subprogram and variable names. Modcap allows operator and variable name overloading, but it does not allow subprogram name overloading. C allows a restricted form of overloading on operators, but it does not allow subprogram, variable, and literal name overloading. Fortran allows a restricted form of overloading on operators, but it does not allow subprogram, variable, and literal name overloading. Smalltalk allows subprogram (method) name overloading as far as they belong to different classes, but it does not allow literal or variable name overloading. CMSL (Contour Model Source Language) is a new language which has some novel semantic properties. The author develops an algorithm which solves the problem of overloading in the CMSL language, and which could be exploited by other languages.
- Research Organization:
- New Mexico State Univ., Carlsbad, NM (USA)
- OSTI ID:
- 5923119
- Country of Publication:
- United States
- Language:
- English
Similar Records
Principles of programming languages: design
Introduction to Modula-2 (Installation Code: SLA)