Ralf Hinze
YOU?
Author Swipe
Truly Functional Solutions to the Longest Uptrend Problem (Functional Pearl) Open
Solutions to the longest increasing subsequence problem are typically implemented imperatively, relying on arrays for constant-time lookups and updates. Replacing these arrays with functional sequences allows a purely functional solution w…
Binary search—think positive Open
The setting is a tutorial on program verification in Agda. Please consult the programme for further details. [ See also Appendix A .]
The graphical theory of monads Open
The formal theory of monads shows that much of the theory of monads can be developed in the abstract at the level of 2-categories. This means that results about monads can be established once and for all and simply instantiated in settings…
Certified, total serialisers with an application to Huffman encoding Open
The other day, I was assembling lecture material for a course on Agda. Pursuing an application-driven approach, I was looking for correctness proofs of popular algorithms. One of my all-time favourites is Huffman data compression (Huffman,…
Calculating Datastructures Open
Where do datastructures come from? This paper explores how to systematically derive implementations of one-sided flexible arrays from a simple reference implementation. Using the dependently typed programming language Agda, each calculatio…
Super-naturals Open
An abstract is not available for this content. As you have access to this content, full HTML content is provided on this page. A PDF of this content is also available in through the ‘Save PDF’ action button.
A Logical Reconstruction of Batcher's Mergers <i>Or:</i> Bitonicity is a Red Herring Open
\n Contains fulltext :\n 173182.pdf (Publisher’s version ) (Open Access)\n
View article: Relational algebra by way of adjunctions
Relational algebra by way of adjunctions Open
Bulk types such as sets, bags, and lists are monads, and therefore support a notation for database queries based on comprehensions. This fact is the basis of much work on database query languages. The monadic structure easily explains most…
Batcher's odd-even merging network revealed Open
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 semanti…
A logical reconstruction of Batcher’s mergers, or, bitonicity is a red herring Open
Almost half a century after Batcher wrote his seminal paper on sorting networks, we revisit the key algorithmic design decisions for oblivious merging to rediscover his schemes in a disciplined way. The design space of sorting networks is …
Unifying structured recursion schemes Open
Folds and unfolds have been understood as fundamental building blocks for total programming, and have been extended to form an entire zoo of specialised structured recursion schemes. A great number of these schemes were unified by the intr…