Abstract
ASL+ [SST92] is a kernel specification language with higher-order parametrisation for programs and specifications, based on a dependently typed λ-calculus. ASL+ has an institution-independent semantics, which leaves the underlying programming language and specification logic unspecified. To complete the definition, and in particular, to study the type checking problem for ASL+, the language ASL+FPC was conceived. It is a modified version of ASL+ for \(\mathcal{FPC}\), and institution based on the paradigmatic programming calculus FPC. The institution \(\mathcal{FPC}\) is notable for including sharing equations inside signatures, reminiscent of so-called manifest types or translucent sums in type systems for programming language modules [Ler94,HL94]. This allows type equalities to be propagated when composing modules. This paper introduces \(\mathcal{FPC}\) and ASL+FPC and their type checking systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aspinall, D.: Subtyping with singleton types. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933, Springer, Heidelberg (1995)
Aspinall, D.: Types, subtypes, and ASL+. In: Reggio, G., Astesiano, E., Tarlecki, A. (eds.) Abstract Data Types 1994 and COMPASS 1994. LNCS, vol. 906. Springer, Heidelberg (1995)
Aspinall, D.: Type Systems for Modular Programs and Specification. PhD thesis, Department of Computer Science, University of Edinburgh (1997)
Cengarle, M.V.: Formal Specifications with Higher-Order Parameterisation. PhD thesis, Institut für Informatik, Ludwig-Maximilians- Universität München (1994)
Dreyer, D., Crary, K., Harper, R.: A type system for higherorder modules. In: Proceedings of POPL 2003, New Orleans (2003)
Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. Journal of the ACM 39, 95–146 (1992)
Gordon, M.J.C., Melham, T.F.: Introduction to HOL. Cambridge University Press, Cambridge (1993)
Gunter, C.A.: Semantics of Programming Languages. MIT Press, Cambridge (1992)
Harper, R., Lillibridge, M.: A type-theoretic approach to higherorder modules with sharing. In: Conference Record of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1994), Portland, Oregon, January 17–21, pp. 123–137. ACM Press, New York (1994)
Harper, R., Mitchell, J.C., Moggi, E.: Higher-order modules and the phase distinction. In: Conference record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, San Francisco, CA, January 1990, pp. 341–354 (1990)
Jones, M.P.: Using parameterized signatures to express modular structure. In: Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1996), St. Petersburg, Florida, pp. 21–24. ACM Press, New York (1996)
Courant, J.: An applicative module calculus. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214, pp. 622–636. Springer, Heidelberg (1997)
Leroy, X.: Manifest types, modules, and separate compilation. In: Proc. 21st symp. Principles of Programming Languages, pp. 109–122. ACM press, New York (1994)
Leroy, X.: Applicative functors and fully transparent higher-order modules. In: Conference Record of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1995), San Francisco, California, January 22–25, pp. 142–153. ACM Press, New York (1995)
Leroy, X.: A syntactic theory of type generativity and sharing. Journal of Functional Programming 6(5), 667–698 (1996)
MacQueen, D.: Using dependent types to express modular structure. In: Proceedings, Thirteenth Annual ACM Symposium on Principles of Programming Languages, St. Petersburg Beach, Florida, January 13–15. ACM SIGACT-SIGPLAN, pp. 277–286. ACM Press, New York (1986)
Müller, O., Nipkow, T., von Oheimb, D., Slotosch, O.: HOLCF = HOL + LCF. Journal of Functional Programming 9, 191–223 (1999)
Mossakowski, T.: Specifications in an arbitrary institution with symbols. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 252–270. Springer, Heidelberg (2000)
Plotkin, G.: Denotational semantics with partial functions. Lecture at C.S.L.I. Summer School (1985)
Russo, C.V.: Non-dependent types for standard ML modules. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 80–97. Springer, Heidelberg (1999)
Stone, C.A., Harper, R.: Deciding type equivalence in a language with singleton kinds. In: ACM Symposium on Principles of Programming Languages (POPL), Boston, Massachusetts, pp. 214–227, January 19–21 (2000)
Shao, Z.: Parameterized signatures and higher-order modules, 1998. Technical Report YALEU/DCS/TR-1161, Dept. of Computer Science, Yale University (August 1998)
Shao, Z.: Transparent modules with fully syntactic signatures. In: International Conference on Functional Programming, pp. 220–232 (1999)
Schröder, L., Mossakowski, T.: HasCASL: Towards integrated specification and development of Haskell programs. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, p. 99. Springer, Heidelberg (2002)
Schröder, L., Mossakowski, T., Tarlecki, A., Klin, B., Hoffman, P.: Semantics of Architectural Specifications in CASL. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 253–268. Springer, Heidelberg (2001)
Sannella, D., Sokołowski, S., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Parameterisation revisited. Acta Informatica 29, 689–736 (1992)
Sannella, D., Tarlecki, A.: Extended ML: An institutionindependent framework for formal program development. In: Poigné, A., Pitt, D.H., Rydeheard, D.E., Abramsky, S. (eds.) Category Theory and Computer Programming. LNCS, vol. 240, pp. 364–389. Springer, Heidelberg (1986)
Sannella, D., Tarlecki, A.: Toward formal development of programs from algebraic specifications: implementation revisited. Acta Informatica 25, 233–281 (1988)
Tarlecki, A.: Modules for a model-oriented specification language: a proposal for MetaSoft. In: Krieg-Brückner, B. (ed.) ESOP 1992. LNCS, vol. 582, pp. 452–472. Springer, Heidelberg (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aspinall, D. (2003). Type Checking Parametrised Programs and Specifications in ASL + FPC . In: Wirsing, M., Pattinson, D., Hennicker, R. (eds) Recent Trends in Algebraic Development Techniques. WADT 2002. Lecture Notes in Computer Science, vol 2755. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-40020-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-40020-2_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20537-1
Online ISBN: 978-3-540-40020-2
eBook Packages: Springer Book Archive