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

Reply via email to