Skip to main content
    • Aa
    • Aa
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 6
  • Cited by
    This article has been cited by the following publications. This list is generated based on data provided by CrossRef.

    Tasso, Sergio Gervasi, Osvaldo Vella, Flavio and Cuzzocrea, Alfredo 2015. 2015 IEEE 18th International Conference on Computational Science and Engineering. p. 216.

    McBride, Conor Thomas 2014. How to keep your neighbours in order. ACM SIGPLAN Notices, Vol. 49, Issue. 9, p. 297.

    Ragde, Prabhakar 2014. Simple Balanced Binary Search Trees. Electronic Proceedings in Theoretical Computer Science, Vol. 170, p. 78.

    Vazou, Niki Seidel, Eric L. and Jhala, Ranjit 2014. LiquidHaskell. ACM SIGPLAN Notices, Vol. 49, Issue. 12, p. 39.

    HINZE, RALF 2009. Purely Functional 1-2 Brother Trees. Journal of Functional Programming, Vol. 19, Issue. 06, p. 633.

    Abel, Andreas Matthes, Ralph and Uustalu, Tarmo 2005. Iteration and coiteration schemes for higher-order and nested datatypes. Theoretical Computer Science, Vol. 333, Issue. 1-2, p. 3.


Red-black trees with types

  • DOI:
  • Published online: 01 July 2001

Chris Okasaki showed how to implement red-black trees in a functional programming language. Ralf Hinze incorporated even the invariants of such data structures into their types, using higher-order nested datatypes. We show how one can achieve something very similar without the usual performance penalty of such types, by combining the features of nested datatypes, phantom types and existential type variables.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *