Re: Notions of Type
Date: 17 Aug 2006 21:36:34 -0700
Message-ID: <1155875794.356207.168000_at_i3g2000cwc.googlegroups.com>
Bob Badour wrote:
> Marshall wrote:
>
> > Consider PROJECT:
> >
> > PROJECT: Relation, Set-of-attributes -> Relation
> >
> > So for PROJECT of an x,y point over x, we pass it two
> > things:
> >
> > 1) A relation defined over attributes x and y
> > 2) ???
> > and it returns
> > 3) A relation defined over attribute x (aka "profit")
> >
> > Whoops! Doesn't fit the template. The second argument isn't
> > a relation. So, strictly speaking, this is not an algebraic operator,
> > because it isn't closed over the type Relation. Exercise for the
> > reader: what *is* the type of the other argument? This should
> > make your head hurt a least a little bit.
>
> It is a relation of degree 1 and cardinality N representing a set of N
> attribute names.
Yes and no.
In its most minimal form, it is a set of attributes. A set of
attributes is not a relation. However, because of the
awesome representational power of relations, it is easy
enough to construct a relation that, as you say, represents
a set of attributes. In other words, the fact that you were
able to construct an answer in the form of a relation says
more about the tremendous flexibility of relations than it
does about the type of the parameter to PROJECT.
Also, note that this solution can fail in so many ways.
The second argument is hardly any general relation; it
has to be specifically a relation of degree 1. And the
lone attribute of this relation: what type is it? String?
That doesn't quite work; it is drawn from the domain
of attribute names, and not just any attribute names,
but specifically the ones from the other parameter!
It gets worse: the two relations are not of the same
order. The first relation is of the base order and
the second relation is of a higher order, since it is
a relation over type components. And it is here that
we have to start being *very* *careful* because we're
wandering into paradox territory.
(It is exactly the area of considering types as values
that is a current area of study for me, largely motivated
by the desire to understand and avoid these paradoxes.)
Two side notes:
Marshall Received on Fri Aug 18 2006 - 06:36:34 CEST