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: Curry-Howard, Dependent Type, GADT, Haskell, Types.
July 27, 2007
An indcutive type μF is simulated by forall x . (F x -> x) -> x, while a coinductive type νF is simulatd by exists x . (x -> F x, x). When they coincide, we can build hylomorphisms, but also introduces non-termination into the language.
[More ...]
- 0 Comments
Tags: Haskell, Types, λ calculus.
June 30, 2007
I was trying to simulate church numerals and primitive recursion in second rank polymorphism of Haskell. However, polymorphic types in Haskell can only be instantiated with monomorphic types.
[More ...]
- 0 Comments
Tags: Haskell, Types.
June 20, 2007
Given a list, zip its first half with the reverse of its second half, in only “one and a half” traversals of the list.
[More ...]
- 4 Comments
Tags: Haskell, Program Derivation.
R. S. Bird and S-C. Mu, Countdown: a case study in origami programming. In Journal of Functional Programming Vol. 15(5), pp. 679-702, 2005.
[GZipped Postscript]
[More ...]
- 0 Comments
Tags: Haskell, Program Derivation, Program Inversion, Thinning Theorem.
S-C. Mu and R. S. Bird, Quantum functional programming. In 2nd Asian Workshop on Programming Languages and Systems , KAIST, Dajeaon, Korea, December 17-18, 2001.
[GZipped Postscript]
[More ...]
- 0 Comments
Tags: Haskell, Quantum Programming.
June 19, 2007
A Haskell quine. That is, a program whose output is itself.
[More ...]
- 0 Comments
Tags: Haskell, Quine.