Another iteration on \A synthesis of several sorting algorithms (original) (raw)

In \A synthesis of several sorting algorithms", Darlington showed how to use program transformation techniques to develop versions of six well-known sorting algorithms. We provide more evidence for the naturalness of the resulting taxonomy of algorithms by showing how it follows almost immediately from a consideration of the types of the objects involved. By exploiting the natural operations of iteration and coiteration over recursively dened data types, we may automatically derive the structure of each algorithm.

Free PDF

Another Iteration on Darlington's "A Synthesis of Several Sorting Algorithms" Cover Page

Foundations of Computer Science

2000

This course has two aims. The first is to teach programming. The second is to present some fundamental principles of computer science, especially algorithm design. Most students will have some programming experience already, but there are few people whose programming cannot be improved through greater knowledge of basic principles. Please bear this point in mind if you have extensive experience and find parts of the course rather slow.

Free PDF

Foundations of Computer Science Cover Page

Free PDF

Programming with regions in the ML Kit (for version 4 Cover Page

Free PDF

Functional C Cover Page

Free PDF

Algorithm Design: Parallel and Sequential Cover Page

Free PDF

Genuinely functional user interfaces Cover Page

Preliminary Proceedings of the ACM SIGPLAN Haskell Workshop (HW'2001)

2001

Using Haskell as a digital circuit description language, we transform a ripple carryadder that requires O (n) time to add two n-bit words into an e# cient carry lookaheadadder that requires O (log n) time. The gain in speed relies on the use of parallelscan to calculate the propagation of carry bits e# ciently. The main di# culty is thatthis scan cannot be parallelised directly since it is applied to a non-associative function.

Free PDF

Preliminary Proceedings of the ACM SIGPLAN Haskell Workshop (HW'2001) Cover Page

Automatic Amortised Resource Analysis for Hume

2009

Abstract This chapter gives an overview of the amortised analysis approach that we have used for Hume. We introduce an analogy with carbon emissions, describe amortised analysis in general terms, outline how we will develop an automatic analysis and introduce the Hume programming language that will be used as the basis for undertaking our analysis.

Free PDF

Automatic Amortised Resource Analysis for Hume Cover Page

Numerical representations as higher order nested datatypes

1998

Abstract Number systems serve admirably as templates for container types: a container object of size n is modelled after the representation of the number n and operations on container objects are modelled after their number-theoretic counterparts. Binomial queues are probably the rst data structure that was designed with this analogy in mind. In this paper we show how to express these so-called numerical representations as higher-order nested datatypes.

Free PDF

Numerical representations as higher order nested datatypes Cover Page

Unfolding abstract datatypes

2008

We argue that abstract datatypes—with public interfaces hiding private implementations—represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfold operators are perfectly suited for the task. We illustrate with solutions to two problems the solution to a problem in the recent literature.

Free PDF

Unfolding abstract datatypes Cover Page

Loading...

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.

Free PDF

Formalizing soundness of contextual effects Cover Page

Free PDF

Projection-based Strictness Analysis Cover Page

Free PDF

Data Structures and Algorithms with Python - Kent D. Lee & Steve Hubbard Cover Page

Free PDF

Manufacturing datatypes Cover Page

Free PDF

The isabelle framework Cover Page

Free PDF

Streaming representation-changers Cover Page

Free PDF

Algebraic and Coalgebraic Methods in the Mathematics of Program Construction: International Summer School and Workshop, Oxford, UK, April 10-14, 2000, Revised Lectures Cover Page

Free PDF

Project Paper: the SCIEnce Joint Research Activity Symbolic Computing on the Grid Cover Page

Free PDF

Symposium Organization Cover Page

Free PDF

Decision Procedures for the Temporal Verification of Concurrent Lists Cover Page

Free PDF

Deriving a Relationship from a Single Example Cover Page

Free PDF

Enumerating well-typed terms generically Cover Page

Free PDF

GADTs for Reconstruction of Invariants and Postconditions Cover Page

Free PDF

Computer Science: Abstraction to Implementation Cover Page

Free PDF

Theorem proving for functional programmers Cover Page

Free PDF

Comparative cross-platform performance results from a parallelizing SML compiler Cover Page

Free PDF

Functorial ML Cover Page

Free PDF

Introduction to Computing Explorations in Language, Logic, and Machines Cover Page

Free PDF

Full Text Cover Page

Free PDF

Fission for program comprehension Cover Page

Free PDF

“Scrap your boilerplate” revolutions Cover Page

Free PDF

Algebraic–coalgebraic specification in CoCasl Cover Page

Free PDF

Foundational (Co)datatypes and (Co)recursion for Higher-Order Logic Cover Page

Free PDF

Formal methods and dependability Cover Page