Skip to main content

Uniqueness type inference

  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics and Programs (PLILP 1995)

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

Abstract

We extend the Uniqueness Type System with uniqueness polymorphism. Using a notion of ‘principal uniqueness variants’ the type system is shown to be effective in the sense that a uniqueness variant of a given conventional type can be determined automatically. The presented algorithm serves as a basis for type checking in the language Clean. We illustrate the system by some concrete examples.

Supported by NWO and STW.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Achten, P.M. and M.J. Plasmeijer (1995). The ins and outs of Clean I/O, Journal of Functional Programming 5, pp. 81–110.

    Google Scholar 

  • Achten, P.M., J.H.G. van Groningen and M.J. Plasmeijer (1993). High level specification of I/O in functional languages, in: J. Launchbury and P. Sansom (eds.), Proceedings of the International Workshop on Functional Languages, Ayr, Scotland, 6–8 July 1992, Workshops in Computing, Springer-Verlag, Berlin, pp. 1–17.

    Google Scholar 

  • van Bakel, S.J., J.E.W. Smetsers and S. Brock (1992). Partial type assignment in left-linear term rewriting systems, in: J.C. Raoult (ed.), Proceedings of the 17th Colloqium on Trees and Algebra in Programming (CAAP'92), Rennes, France, Lecture Notes in Computer Science 581, Springer-Verlag, Berlin, pp. 300–322.

    Google Scholar 

  • Barendregt, H.P., M.C.J.D. van Eekelen, J.R.W. Glauert, J.R. Kennaway, M.J. Plasmeijer and M.R. Sleep (1987). Term graph reduction, in: J.W. de Bakker, A.J. Nijman and P.C. Treleaven (eds.), Proceedings of the Conference on Parallel Architectures and Languages Europe (PARLE) II, Eindhoven, The Netherlands, Lecture Notes in Computer Science 259, Springer-Verlag, Berlin, pp. 141–158.

    Google Scholar 

  • Barendsen, E. and J.E.W. Smetsers (1992). Graph rewriting and copying, Technical Report 92-20, Computing Science Institute, University of Nijmegen.

    Google Scholar 

  • Barendsen, E. and J.E.W. Smetsers (1993a). Conventional and uniqueness typing in graph rewrite systems, Technical Report CSI-R9328, Computing Science Institute, University of Nijmegen.

    Google Scholar 

  • Barendsen, E. and J.E.W. Smetsers (1993b). Conventional and uniqueness typing in graph rewrite systems (extended abstract), in: R.K. Shyamasundar (ed.), Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science, Bombay, India, Lecture Notes in Computer Science 761, Springer-Verlag, Berlin, pp. 41–51.

    Google Scholar 

  • Barendsen, E. and J.E.W. Smetsers (1994). Extending graph rewriting with copying, in: H.J. Schneider and H. Ehrig (eds.), Graph Transformations in Computer Science, International Workshop, Dagstuhl Castle, Germany, Lecture Notes in Computer Science 776, Springer-Verlag, Berlin, pp. 51–70.

    Google Scholar 

  • Girard, J.-Y., Y. Lafont and P. Taylor (1989). Proofs and Types, Cambridge Tracts in Theoretical Computer Science 7, Cambridge University Press.

    Google Scholar 

  • Guzmán, J.C. and P. Hudak (1990). Single-threaded polymorphic lambda calculus, Proceedings of the 5th Annual Symposium on Logic in Computer Science, Philadelphia, IEEE Computer Society Press, pp. 333–343.

    Google Scholar 

  • Jacobs, B.P.F. (1993). Personal communication.

    Google Scholar 

  • Plasmeijer, M.J. and M.C.J.D. van Eekelen (1995). Concurrent Clean 1.0 language report, Computing Science Institute, University of Nijmegen, To appear.

    Google Scholar 

  • Sastry, W., A.V.S. Clinger and Z.M. Ariola (1993). Order-of-evaluation analysis for destructive updates in strict functional languages with flat aggregates, Proceedings of the Conference on Functional Languages and Computer Architectures (FPCA), Copenhagen, Denmark, ACM Press, pp. 266–276.

    Google Scholar 

  • Troelstra, A.S. (1992). Lectures on Linear Logic, CSLI Lecture Notes 29, CSLI, Stanford.

    Google Scholar 

  • Wadler, P. (1990). Linear types can change the world!, Proceedings of the Working Conference on Programming Concepts and Methods, Israel, North-Holland, Amsterdam, pp. 385–407.

    Google Scholar 

  • Wadsworth, C.P. (1971). Semantics and Pragmatics of the Lambda Calculus, Dissertation, Oxford University.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo S. Doaitse Swierstra

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barendsen, E., Smetsers, S. (1995). Uniqueness type inference. In: Hermenegildo, M., Swierstra, S.D. (eds) Programming Languages: Implementations, Logics and Programs. PLILP 1995. Lecture Notes in Computer Science, vol 982. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026821

Download citation

  • DOI: https://doi.org/10.1007/BFb0026821

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45048-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics