I don't know about functional dependencies but using an existential type turned out to
be very useful in writing an LDAP protocol handler. The protocol is specified at an
abstract level using ASN.1 and could, in theory, be encoded using any set of encoding
rules. It happens to use the Basic Encoding Rules. We used an existential type to
"encode" the protocol at an abstract level and the encoding rules take this type and
produce a concrete representation ready to send over a transport mechanism. Thus we
get a good separation between the abstract protocol and the concrete encoding. So the
next time we implement a protocol handler we can re-use the encoding code or we could
encode LDAP with a different set of encoding rules without having to touch the LDAP
code itself.
We are presenting a paper which includes this at the Scottish Functional Programming
workshop.
Dominic.
[EMAIL PROTECTED] on 31/07/2001 22:29:00
To: franka
cc: haskell-cafe
bcc: Dominic Steinitz
Subject: Re: newbie conceptual question [from haskell list]
Hi,
Frank Atanassow wrote:
> D. Tweed wrote:
> > I've never written a Haskell program using functional dependencies, or
> > existential classes, ...
>
> I find them indispensible, and I know for a fact that I am not the only one
> around our office who feels that way. Though, the people around here
> (Utrecht's software technology group) are not exactly typical programmers...
> :)
I've been recently experimenting quite a bit with existential classes
and somewhat less with functional dependencies, primarily to help my
understanding of the concepts. However, I've yet to be able to think of
an appropriate place to use them in the "real world". That is, in
something more than a toy thought-experiment. Could you give some
examples of what you are using them for?
--
Hal Daume III
"Computer science is no more about computers | [EMAIL PROTECTED]
than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------------------------------------------------------------------------------------------
21st century air travel http://www.britishairways.com
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe