[ Content | View menu ]

Monthly Archive August, 2007

Push: Improving Heap Residency for Lazy Stream Processing by Concurrency

August 27, 2007

Prototype implementation of a language Push, accompanying our recently submitted paper. The prototype is implemented and prepared by Ta-Chung Tsai.

While studying XML stream processing, we noticed that programmers need concurrency to save space, especially in a lazy language. We propose the idea of pushing datatypes — when a pushing closure is demanded, all expressions referring to it are evaluated concurrently to weak head normal forms. The closure is no more alive and may thus be garbage collected.

[GZipped Tarball]

[More ...] - 0 Comments
Tags: , .

An Unsuccessful Attempt to Compute the Intersection of Regular Expressions

August 9, 2007

Tyng-Ruey, Chin-Lung, and I needed to compute the intersection of two regular expressions without converting them to finite automata. The result was not satisfactory, however.

[More ...] - 0 Comments
Tags: .

Developing Programs and Proofs Spontaneously using GADT

August 6, 2007

I am curious about the possibility of developing Haskell programs spontaneously with proofs about their properties and have the type checker verify the proofs for us, in a way one would do in a dependently typed language. I tried to redo part of the merge-sort example in Altenkirch, McBride, and McKinna’s introduction to Epigram: deal the input list into a binary tree, and fold the tree by the function merging two sorted lists into one.

[More ...] - 3 Comments
Tags: , , , , .