Skip to main content

Batcher's odd-even merging network revealed

  • RALF HINZE (a1) and CLARE MARTIN (a2)

Comparison networks offer an attractive framework for studying parallel sorting algorithms. The visual presentation of such hard-wired networks makes processes easy to conceptualize without the overhead of programming syntax or the semantic complications of concurrency. Though simple in appearance they have a surprisingly rich structure. In this pearl we delve a little into their theory.

Hide All
Batcher, K. E. (1968) Sorting networks and their applications. In Proceedings of the April 30–May 2, 1968, Spring Joint Computer Conference. AFIPS '68 (Spring), ACM, pp. 307–314.
Bove, A. & Coquand, T. (2006) Formalising bitonic sort in type theory. In Types for Proofs and Programs, Filliâtre, J.-C., Paulin-Mohring, C. & Werner, B. (eds), Lecture Notes in Computer Science, vol. 3839. Berlin, Heidelberg: Springer, pp. 8297.
Day, N. A., Launchbury, J. & Lewis, J. (1999) Logical abstractions in Haskell. In Proceedings of the 1999 Haskell Workshop.
Feijen, W. & Bijlsma, L. (1990) Exercises in formula manipulation. In Formal Development of Programs and Proofs, Dijkstra, E. W. (ed). Addison-Wesley Longman Publishing Co., Inc, pp. 139158.
Hinze, R. (2009) Functional pearl: la tour d'Hanoï. In Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP '09), Tolmach, A. (ed), ACM. pp. 3–10.
Knuth, D. E. (1998) The Art of Computer Programming, Volume~3: Sorting and Searching. 2nd ed. Addison-Wesley Publishing Company.
Reynolds, J. C. (1983) Types, abstraction and parametric polymorphism. In IFIP Congress, Mason, R. (ed), pp. 513523.
Wadler, P. (1989) Theorems for free! In Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture. FPCA '89, ACM, pp. 347–359.
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? *


Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

Batcher's odd-even merging network revealed

  • RALF HINZE (a1) and CLARE MARTIN (a2)
Submit a response


No Discussions have been published for this article.


Reply to: Submit a response

Your details

Conflicting interests

Do you have any conflicting interests? *