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.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
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
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
- Information System
- Operating System
- Data Structure
- Communication Network
- Information Theory