Patrick Browne <patrick.browne@dit.ie> wrote:
If we include super-classes would the following be an appropriate mathematical representation?
What is a superclass? What are the semantics?
I assume that like a normal class a super-class *defines* a set operations for types, but it is not *a set* of types. A sub-class can use the signature and default methods of its super-class. I have no particular super-class in mind.
So you basically just mean class (Functor f) => Applicative f where Functor is a superclass of Applicative? There is really nothing special about that. Notice that type classes are a language feature that is translated to a core language, which is essentially an extended System F_omega. See below.
Rather I am trying to make sense of how these Haskell objects are mathematically related.
They are mainly related by logic, in particular type theory. You may be interested in System F_omega [1]. [1]: http://en.wikipedia.org/wiki/System_F#System_F.CF.89 Greets, Ertugrul -- Key-ID: E5DD8D11 "Ertugrul Soeylemez <es@ertes.de>" FPrint: BD28 3E3F BE63 BADD 4157 9134 D56A 37FA E5DD 8D11 Keysrv: hkp://subkeys.pgp.net/