Abstract
We introduce AIAS, a proposal for expressing higher order parameterization and abstraction for modules. A module consists of an interface and an implementation. Both interfaces and implementations can be parameterized, and they are first class citizens, i.e. any order of parameterization is possible. The interface of the application of a parameterized implementation may depend on the interface of its arguments, i.e. we have a weaker form of dependent product types.
AIAS is conceptually very simple because, in contrast to other systems, it does not distinguish between an interface of a parameterized implementation and a parameterized interface. Consequently, fewer entities need to be declared using AIAS than would be necessary for the same problem using comparable systems. AIAS also permits a solution to the witness problem, allowing a mixture of the abstract and transparent witness models.
This work was supported by Esprit Basic Research Action 3147: Phœnix.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Luca Cardelli. Typeful programming. Technical Report 45, Digital, May 1989.
Luca Cardelli and Peter Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 86, 1986.
Joseph A. Goguen and Timothy Winkler. Introducing OBJ3. Technical Report SRICSL-88–9, SRI International, August 1988.
Yike Guo and Helen Pull. FALCON: Functional and logic language with constraints — language definition. Technical Report IC/FPG/Phoenix/15/2, Department of Computing, Imperial College, February 1991.
Robert Harper, John C. Mitchell, and Eugenio Moggi. Higher-order modules and the phase distinction. In 17th Annual ACM Symposium on Principles of Programming Languages, pages 341–354, 1990.
Technical Report YALEU/DCS/RR777, Yale University, Department of Computer Science, April 1990.
David MacQueen. Modules for Standard ML. In ACM Symposium on Lisp and Functional Programming, Austin, 1984.
Robin Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17 (3): 348–375, 1978.
Robin Milner. Standard ML. Technical report, University of Edinburgh, 1987.
Helen Pull, Sophia Drossopoulou, Yike Guo, and Ross Paterson. EXIS case study in FALCON. Technical Report IC/FPG/Phoenix/3/2, Department of Computing, Imperial College, February 1991.
Don T. Sanella, Stefan Sokolowski, and Andrzej Tarlecki. Towards formal development of programs from algebraic specifications: Parameterisation revisited. Technical Report 6/90, FB Informatik, Universität Bremen, 1990.
Donald Sanella and Andrzej Tarlecki. A kernel specification formalism with higher-order parameterisation. In 7th Workshop on Specification of Abstract Data Types,Lecture Notes in Computer Science. Springer, 1991. to appear.
US Department of Defense. Reference Manual for the Ada Programming Language,1983. ANSI/MIL-STD-1815 A.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 Springer-Verlag London
About this paper
Cite this paper
Drossopoulou, S., Paterson, R., Eisenbach, S. (1992). Parameterized Interfaces are Interfaces — AIAS. In: Darlington, J., Dietrich, R. (eds) Declarative Programming, Sasbachwalden 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3794-8_9
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3794-8_9
Publisher Name: Springer, London
Print ISBN: 978-3-540-19735-5
Online ISBN: 978-1-4471-3794-8
eBook Packages: Springer Book Archive