Summary
We consider the design of a strongly-typed language with userdefined types in which it is arranged that, given that a type is available, it is immaterial to the user whether it is a user-defined type or one of the “primitive types” with representations selected by the implementer. This scheme provides unprecedented freedom in choosing the primitive types; by making these machine-dependent we can ensure production of programs that are easily and efficiently portable between computers of different architectures. A general discussion of the implementer's responsibilities in choosing primitive types appropriate to his machine is illustrated by considering implementation choices for translation of the language into BCPL. Finally we discuss the contribution of the language to the solution of the portability problem.
Similar content being viewed by others
References
Ichbiah, J. D., Rissen, J. P., Heliard, J.C.: The two-level approach to data independent programming in the LIS system implementation language. In: Machine oriented higher level languages (W.I. van der Poel, I. Maarssen, eds.), pp. 161–169. Amsterdam: North-Holland 1974
Liskov, B.: A note on CLU. Computation Structures Group Memo 112, Project MAC, MIT, 1974
Liskov, B., Zilles, S.: Programming with abstract data types. Sigplan Notices 9, 4, 50–59 (1974)
Morris, J.H.: Types are not sets. Proc. ACM Symposium on Principles of Programming Languages, Boston, pp. 120–124, 1973
Richards, M.: The BCPL programming manual. Computer Laboratory, Cambridge University, 1973
Wallis, P.J.L.: Language design for structured programming. D. Phil. thesis, University of Oxford, February 1977
Woodward, P.G., Bond, S.G.: Algol 68-R users guide. London: HMSO 1974
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Wallis, P.J.L. The design of a portable programming language. Acta Informatica 10, 157–167 (1978). https://doi.org/10.1007/BF00289153
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00289153