[Haskell-cafe] 3 level hierarchy of Haskell objects

Jay Sulzberger jays at panix.com
Sat Aug 11 03:24:47 CEST 2012

On Thu, 9 Aug 2012, Patrick Browne <patrick.browne at dit.ie> wrote:

> On 09/08/12, Jay Sulzberger <jays at panix.com> wrote:
>       Here we are close to the distinction between a class of "objects
>       which satisfy a condition" vs "objects with added structure",
>       for
>       which see:
>         http://math.ucr.edu/home/baez/qg-spring2004/discussion.html
>         http://ncatlab.org/nlab/show/stuff,+structure,+property
>       oo--JS.
> This seems to be addressing my my  question, but I am not sure that I can
> relate the above ideas to Haskell.

I am, perhaps too gingerly, looking at Haskell.  I have not yet
attempted to read the standard.  But from a distance (and this
addresses in part the question "Is it April Fool's Day?" in
response to my mild suggestion that category theory might be
applied to the relation between code-making and deployment of a
production system), looking at discussions by people who use
Haskell, a large scale effort must be made just to write down
even the most primitive approximations to these surely existing

1. the various functors between various categories with objects
types and with objects values

2. the various functors between various categories with objects
"programs in source code form", with objects "compiled programs",
with objects "running programs", and some categories that somehow
deal with "behaviors"

I am aware that I am ignorant of the literature which deals with
these things.

> Below is my current (naive) understanding and some further question:
> "objects which satisfy a condition"
> Could these objects be models that have the same signature (instances in
> Haskell).
> Haskell type classes seem to be signature only (no equations, ignoring
> default methods) so in general  they provide an empty theory with no logical
> consequences.
> "objects with added structure"
> I am struggling with this concept both in general and in relation to the
> hierarchy from my earlier posting.
> Could this be "model expansion" where a theory describing an existing model
> is enriched with additional axioms.
> The enriched theory is then satisfied by models with more structure
> (operations).
> I am unsure about the size of this expanded model and the number of
> potential expanded models.
> Would a expanded model have less elements?
> Would there be  fewer models for the enriched theory?
> In relation to Haskell data types also have structure (constructors).
> The data types can be used to build other data types (is this model
> expansion?)
> I am not sure if the model (instance) of a sub-class could be considered as
> expanded model of its super-class.

I am not today enough up on the old Baez et al discussion.  I
hope to post something along this line when I know a bit more
Haskell, and after I have read again Baez et al.

For the record I now repeat what you already know.

I think good paradigm cases must be:

1. There is the category of groups.  A sub-category is the
    category of Abelian groups.

2. There is the category of rings.  The forgetful functor
    f: RO -> R, where RO is the category of ordered rings and R is category
    of rings, and f just "forgets" the cone of non-negative elements.

1. must be a case of "objects which satisfy a condition"; 2. must
be a case of "objects with added structure".

> Your reply was very helpful
> Thanks,
> Pat

De nada and you are very welcome!


More information about the Haskell-Cafe mailing list