• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Constructing Red-Black Trees (1999)

by Ralf Hinze
Add To MetaCart

Tools

Sorted by:
Results 1 - 6 of 6

Dependently Typed Data Structures

by Hongwei Xi , 1999
"... The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is of great use in practice. This mechanism, however, often suffers from its imprecision in capturing the invariants inherent in data structures. We remedy the situation with the introduction of dependen ..."
Abstract - Cited by 14 (3 self) - Add to MetaCart
The mechanism for declaring datatypes in functional programming languages such as ML and Haskell is of great use in practice. This mechanism, however, often suffers from its imprecision in capturing the invariants inherent in data structures. We remedy the situation with the introduction of dependent datatypes so that we can model data structures with significantly more accuracy. We present a few interesting examples such as implementations of red-black trees and binomial heaps to illustrate the use of dependent datatypes in capturing some sophisticated invariants in data structures. We claim that dependent datatypes can enable the programmer to implement algorithms in a way that is more robust and easier to understand.

Functors for Proofs and Programs

by Jean-Christophe Filliatre, Pierre Letouzey , 2003
"... This paper presents the formal verication with the Coq proof assistant of several applicative data structures implementing nite sets. These implementations are parameterized by an ordered type for the elements, using functors from the ML module system. The verication follows closely this scheme, ..."
Abstract - Cited by 13 (2 self) - Add to MetaCart
This paper presents the formal verication with the Coq proof assistant of several applicative data structures implementing nite sets. These implementations are parameterized by an ordered type for the elements, using functors from the ML module system. The verication follows closely this scheme, using the newly Coq module system.

A Simple Implementation Technique for Priority Search Queues

by Ralf Hinze - Proceedings of the 2001 International Conference on Functional Programming , 2001
"... This paper presents a new implementation technique for priority search queues. This abstract data type is an amazing blend of finite maps and priority queues. Our implementation supports logarithmic access to a binding with a given key and constant access to a binding with the minimum value. Priorit ..."
Abstract - Cited by 7 (2 self) - Add to MetaCart
This paper presents a new implementation technique for priority search queues. This abstract data type is an amazing blend of finite maps and priority queues. Our implementation supports logarithmic access to a binding with a given key and constant access to a binding with the minimum value. Priority search queues can be used, for instance, to give a simple, purely functional implementation of Dijkstra's single-source shortest-paths algorithm.

An Algebra of Scans

by Ralf Hinze - In Mathematics of Program Construction , 2004
"... A parallel prefix circuit takes n inputs x1 , x2 , . . . , xn and produces the n outputs x1 , x1 x2 , . . . , x1 x2 xn , where `#' is an arbitrary associative binary operation. Parallel prefix circuits and their counterparts in software, parallel prefix computations or scans, have numerous app ..."
Abstract - Cited by 5 (0 self) - Add to MetaCart
A parallel prefix circuit takes n inputs x1 , x2 , . . . , xn and produces the n outputs x1 , x1 x2 , . . . , x1 x2 xn , where `#' is an arbitrary associative binary operation. Parallel prefix circuits and their counterparts in software, parallel prefix computations or scans, have numerous applications ranging from fast integer addition over parallel sorting to convex hull problems. A parallel prefix circuit can be implemented in a variety of ways taking into account constraints on size, depth, or fanout. Traditionally, implementations are either defined graphically or by enumerating the underlying graph. Both approaches have their pros and cons. A figure if well drawn conveys the possibly recursive structure of the scan but it is not amenable to formal manipulation. A description in form of a graph while rigorous obscures the structure of a scan and is equally hard to manipulate. In this paper we show that parallel prefix circuits enjoy a very pleasant algebra. Using only two basic building blocks and four combinators all standard designs can be described succinctly and rigorously. The rules of the algebra allow us to prove the circuits correct and to derive circuit designs in a systematic manner. lord darlington. . . . [Sees a fan lying on the table.] And what a wonderful fan! May I look at it? lady windermere. Do. Pretty, isn't it! It's got my name on it, and everything. I have only just seen it myself. It's my husband's birthday present to me. You know to-day is my birthday? --- Oscar Wilde, Lady Windermere's Fan 1

Fast list Viterbi decoding and application for source-channel coding of images

by Martin Röder, Raouf Hamzaoui - KONSTANZER SCHRIFTEN IN MATHEMATIK UND INFORMATIK [ONLINE] PREPRINT NO. 182, HTTP://WWW.INF.UNI-KONSTANZ.DE/ PREPRINTS/PREPRINTS-ALL.HTML , 2002
"... ..."
Abstract - Cited by 2 (2 self) - Add to MetaCart
Abstract not found

Programming with Static Invariants in \Omega mega

by Nathan Linger, Tim Sheard , 2004
"... Abstract We present an implementation of binomial heaps that enforces the balancing invariants at compile time. We present an implementation of a typed CPS transform that enforces the typing invariants of both the source and target terms. 1 Introduction There has been a lot of interest recently in g ..."
Abstract - Add to MetaCart
Abstract We present an implementation of binomial heaps that enforces the balancing invariants at compile time. We present an implementation of a typed CPS transform that enforces the typing invariants of both the source and target terms. 1 Introduction There has been a lot of interest recently in generalizing algebraic datatypes asfound in most functional programming languages. These generalizations have
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University