Skip to main content

HasCasl: Towards Integrated Specification and Development of Functional Programs

  • Conference paper
  • First Online:
Book cover Algebraic Methodology and Software Technology (AMAST 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2422))

Abstract

The development of programs in modern functional languages such as Haskell calls for a wide-spectrum specification formalism that supports the type system of such languages, in particular higher order types, type constructors, and parametric polymorphism, and that contains a functional language as an executable subset in order to facilitate rapid prototyping. We lay out the design of HasCasl, a higher order extension of the algebraic specification language Casl that is geared towards precisely this purpose. Its semantics is tuned to allow program development by specification refinement, while at the same time staying close to the set-theoretic semantics of first order Casl. The number of primitive concepts in the logic has been kept as small as possible; we demonstrate how various extensions to the logic, in particular general recursion, can be formulated within the language itself.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Adámek, H. Herrlich, and G. E. Strecker, Abstract and concrete categories, Wiley Interscience, 1990.

    Google Scholar 

  2. D. Aspinall, Type systems for modular programming and specification, Ph.D. thesis, Edinburgh, 1997.

    Google Scholar 

  3. E. Astesiano, M. Bidoit, H. Kirchner, B. Krieg-Brückner, P. D. Mosses, D. Sannella, and A. Tarlecki, Casl: the Common Algebraic Specification Language, Theoret. Comput. Sci. (2003), to appear.

    Google Scholar 

  4. E. Astesiano and M. Cerioli, Free objects and equational deduction for partial conditional specifications, Theoret. Comput. Sci. 152 (1995), 91–138.

    Article  MATH  MathSciNet  Google Scholar 

  5. S. Autexier and T. Mossakowski, Integrating HOL-Casl into the development graph manager Maya, Frontiers of Combining Systems, LNCS, vol. 2309, Springer, 2002, pp. 2–17.

    Chapter  Google Scholar 

  6. G. Berry and P.-L. Curien, Sequential algorithms on concrete data structures, Theoret. Comput. Sci. 20 (1982), 265–321.

    Article  MATH  MathSciNet  Google Scholar 

  7. V. Breazu-Tannen and A. R. Meyer, Lambda calculus with constrained types, Logic of Programs, LNCS, vol. 193, Springer, 1985, pp. 23–40.

    Google Scholar 

  8. CoFI, The Common Framework Initiative for algebraic specification and development, electronic archives, http://www.brics.dk/Projects/CoFI.

  9. CoFI Language Design Task Group, Casl—The CoFI Algebraic Specification Language—Summary, version 1.0, Document/CASL/Summary, in [8], July 1999.

    Google Scholar 

  10. CoFI Semantics Task Group, Casl—The CoFI Algebraic Specification Language—Semantics, Note S-9 (version 0.96), in [8], July 1999.

    Google Scholar 

  11. T. Coquand, An analysis of Girard’s paradox, Logic in Computer Science, IEEE, 1986, pp. 227–236.

    Google Scholar 

  12. J. Goguen, A categorical manifesto, Math. Struct. Comput. Sci. 1 (1991), 49–67.

    MATH  MathSciNet  Google Scholar 

  13. R. Grosu and F. Regensburger, The semantics of spectrum, LNCS 816 (1994), 124–145.

    Google Scholar 

  14. J. V. Guttag, J. J. Horning, S. J. Garland, K. D. Jones, A. Modet, and J. M. Wing, Larch: Languages and tools for formal specification, Springer, 1993.

    Google Scholar 

  15. L. Henkin, The completeness of the first-order functional calculus, J. Symbolic Logic 14 (1949), 159–166.

    Article  MATH  MathSciNet  Google Scholar 

  16. J. M. E. Hyland, First steps in synthetic domain theory, Category Theory, LNM, vol. 1144, Springer, 1992, pp. 131–156.

    MathSciNet  Google Scholar 

  17. S. Kahrs, D. Sannella, and A. Tarlecki, The definition of extended ML: A gentle introduction, Theoret. Comput. Sci. 173 (1997), 445–484.

    Article  MATH  MathSciNet  Google Scholar 

  18. J. Lambek and P. J. Scott, Introduction to higher-order categorical logic, Cambridge, 1986.

    Google Scholar 

  19. S. Mac Lane, Categories for the working mathematician, Springer, 1997.

    Google Scholar 

  20. J. C. Mitchell and P. J. Scott, Typed lambda models and cartesian closed categories, Categories in Computer Science and Logic, Contemp. Math., vol. 92, Amer. Math. Soc., 1989, pp. 301–316.

    MathSciNet  Google Scholar 

  21. E. Moggi, Categories of partial morphisms and the λ p -calculus, Category Theory and Computer Programming, LNCS, vol. 240, Springer, 1986, pp. 242–251.

    Google Scholar 

  22. E. Moggi, The partial lambda calculus, Ph.D. thesis, University of Edinburgh, 1988.

    Google Scholar 

  23. T. Mossakowski, A. Haxthausen, and B. Krieg-Brückner, Subsorted partial higherorder logic as an extension of Casl, Workshop on Abstract Datatypes, LNCS, vol. 1827, Springer, 2000, pp. 126–145.

    Google Scholar 

  24. Till Mossakowski, Casl: From semantics to tools, Tools and Algorithms for Construction and Analysis of Systems, LNCS, vol. 1785, Springer, 2000, pp. 93–108.

    Chapter  Google Scholar 

  25. G. Plotkin, Domains (the ‘Pisa Notes’), http://www.dcs.ed.ac.uk/home/gdp/

  26. A. Poigné, On specifications, theories, and models with higher types, Inform. and Control 68 (1986), no. 1–3, 1–46.

    Article  MATH  MathSciNet  Google Scholar 

  27. F. Regensburger, HOLCF: Higher order logic of computable functions, Theorem Proving in Higher Order Logics, LNCS, vol. 971, 1995, pp. 293–307.

    Google Scholar 

  28. L. Schröder, Classifying categories for partial equational logic, Category Theory and Computer Science, ENTCS, 2002, to appear.

    Google Scholar 

  29. L. Schröder and T. Mossakowski, The definition ofHasCasl, in preparation.

    Google Scholar 

  30. D. S. Scott, Relating theories of the λ-calculus, To H. B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formalisms, Academic Press, 1980, pp. 403–450.

    Google Scholar 

  31. M. Wenzel, Type classes and overloading in higher-order logic, Theorem Proving in Higher Order Logics, LNCS, vol. 1275, Springer, 1997, pp. 307–322.

    Chapter  Google Scholar 

  32. Glynn Winskel, The formal semantics of programming languages, MIT, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schröder, L., Mossakowski, T. (2002). HasCasl: Towards Integrated Specification and Development of Functional Programs. In: Kirchner, H., Ringeissen, C. (eds) Algebraic Methodology and Software Technology. AMAST 2002. Lecture Notes in Computer Science, vol 2422. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45719-4_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-45719-4_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44144-1

  • Online ISBN: 978-3-540-45719-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics