Hi Titto,
I'm not aware of any Haskell implementations of these bi-directional
combinators, but the core definitions are not very big -- someone
looking at the ML code should have no trouble recreating them in
Haskell. The main issue to take care of, beyond the mathematical
description
The following papers will be presented at the 2005 International
Conference on Functional Programming, in Tallinn, Estonia, September
26-28, 2005.
For more information: http://www.brics.dk/~danvy/icfp05
Hope to see you there!
- Benjamin Pierce
ICFP '05 program chair
Today I've been learning about the wonders of QuickCheck. :-)
One (obvious?) question that is not addressed in at least the original paper
is how one might use QC to automatically verify the algebraic laws that are
often associated with type classes. E.g., could we add some QC properties
as
It wouldn't be too hard to add a plain ASCII backend to Haddock that
generates the interfaces for modules without the implementation - that
would address Benjamin's concern to some extent.
Yes, that would be most helpful.
It's still not quite perfect because there is a typesetting step
Actually Haskell fully matches the module system of OCaml -- and then
adds some. Haskell provides both generative and applicative (recursive)
functors. The following two messages elucidate the correspondence
http://www.haskell.org/pipermail/haskell/2004-August/014463.html
For someone coming to Haskell from an OCaml background, one of the hardest
things to get used to is the somewhat more bare bones module system that
Haskell provides. Naturally, as I've gotten into the Haskell groove I've
discovered (or learned from reading other people's code) nice ways of doing
I have seen lots of examples that show how it's useful to make some type
constructor into an instance of Monad.
Where can I find examples showing why it's good to take the trouble to show
that something is also a MonadPlus? (I know there are many examples of
things that *are* MonadPluses; what I
As a start, free access to countless general functions as soon as
you define a MonadPlus instance for your datatype. (Errr, `guard'
and `msum', as long as one stays within the Haskell98 standard
libraries ;)
Yes, those are good examples. (But I'd still be interested to see some of
the
My Advanced Programming course is quickly approaching the lectures on type
classes, and I am interested in finding a little more (beyond what's in SOE)
in the way of examples that illustrate nice uses (especially of more
advanced aspects of the class system). I'd be most grateful for pointers to
Many thanks to everyone for the very helpful answers to my queries!
- Benjamin
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
deadline: 13 April, 2005
On-line response to reviews: 18-19 May, 2005
Author notification: 3 June, 2005
Camera-ready copy: 10 July, 2005
Organizers:
Conference Chair: Olivier Danvy (BRICS, University of Aarhus)
Program Chair: Benjamin Pierce
11 matches
Mail list logo