Skip to main content

Making functionality more general

  • Conference paper
Functional Programming, Glasgow 1991

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

The notion of functionality is not cast in stone, but depends upon what we have as types in our language. With partial equivalence relations (pers) as types we show that the functional relations are precisely those satisfying the simple equation f = ff∪ ∘ f, where “∪” is the relation converse operator. This article forms part of “A calculational theory of pers as types” [1].

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. Graham Hutton and Ed Voermans. A calculational theory of pers as types. Appears in [14]. [To appear as technical reports from Eindhoven and Glasgow, January’92.]

    Google Scholar 

  2. Richard Bird. Lectures on constructive functional programming. Oxford University 1988. (PRG-69)

    Google Scholar 

  3. Grant Malcolm. Algebraic data types and program transformation. Ph.D. thesis, Groningen University, 1990.

    Google Scholar 

  4. Roland Backhouse, Ed Voermans and Jaap van der Woude. A relational theory of datatypes. Appears in [14].

    Google Scholar 

  5. A.J.M. van Gasteren. On the shape of mathematical arguments. LNCS 445, Springer-Verlag, Berlin, 1990.

    Google Scholar 

  6. J. Riguet. Relations Binaires, Fermetures, Correspondances de Galois. Bulletin de la Société mathématique de France. Volume 76, 1948.

    Google Scholar 

  7. A. Jaoua, A. Mili, N. Boudriga, and J.L. Durieux. Regularity of relations: A measure of uniformity. Theoretical Computer Science 79, 323–339, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  8. G. Jones and M. Sheeran. Designing arithmetic circuits by calculation. Glasgow University, 1991. [In preparation]

    Google Scholar 

  9. Maarten Fokkinga. Datatype laws without signatures. Appears in [14].

    Google Scholar 

  10. Graham Hutton. Functional programming with relations. Proc. Third Glasgow Workshop on functional programming (ed. Kehler Hoist, Hutton and Peyton Jones), Ullapool 1990, Springer Workshops in Computing.

    Google Scholar 

  11. Geraint Jones and Mary Sheeran. Relations + higher-order functions = hard-ware descriptions. Proc. IEEE Comp Euro 87: VLSI and Computers, Hamburg, May 1987.

    Google Scholar 

  12. Graham Hutton. A simple guide to the Ruby simulator. Glasgow University, August 1991.

    Google Scholar 

  13. Geraint Jones. Designing circuits by calculation. Oxford University, April 1990. (PRG-TR-10-90)

    Google Scholar 

  14. Proc. EURICS Workshop on Calculational Theories of Program Structure, Ameland, The Netherlands, September 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 British Computer Society

About this paper

Cite this paper

Hutton, G., Voermans, E. (1992). Making functionality more general. In: Heldal, R., Holst, C.K., Wadler, P. (eds) Functional Programming, Glasgow 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3196-0_15

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3196-0_15

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19760-7

  • Online ISBN: 978-1-4471-3196-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics