- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 25 Sep 2007 15:23:16 -0400
- To: Chris Welty <cawelty@gmail.com>
- Cc: Sandro Hawke <sandro@w3.org>, public-rif-wg@w3.org
> Jeez, I'm sure glad I didn't have Michael for a professor. This is a misunderstanding. Sandro said that the signature vs name stuff is hard to follow and I am eager to make improvements. But I cannot understand what exactly does he find to be hard to follow there---hence my question quoted below. I was not looking for an explanation of the difference (from you or from Sandro). Instead I asked for more concrete info from Sandro to help me understand what is wrong with the current text so that it could be improved. --michael > The differences are pretty simple, though: > > A signature has a name and a set of expressions. > A signature name is just a symbol used to reference the set of expressions. > A signature expression is the standard sort of thing you might think of as a > signature, like "(i) => bool", which should be a signature expression for unary > predicates (unary predicates take one argument that is a symbol, and have a > boolean "value") . So, again, a signature is just a set of valid signature > expressions with a name. > > The idea of signatures being sets of signature expressions is because we want > the basic framework to have the flexibility to define polymorphism, so that you > can express the fact that some constants have different signatures in different > syntactic contexts. > > -Chris > > > > Michael Kifer wrote: > >> One of the parts that's really hard for me is the distinction between > >> signature names, signatures, and signature expressions. I can't really > >> keep them straight. > > > > Maybe you can explain what you find to be the problem in more detail? > > > > I do not quite understand why is it hard to see the difference between a > > set and a name given to that set. You do not find it hard to understand the > > distinction between the term 'integer' and the set {0, 1, -1, 2, -2, ...}. > > So what is so hard about the difference between, say, the symbol 'foobar' > > and a set like {i*i->i, i*i*i->bool}, which it might be denoting? > > > > > > --michael > > > > > > > > -- > Dr. Christopher A. Welty IBM Watson Research Center > +1.914.784.7055 19 Skyline Dr. > cawelty@gmail.com Hawthorne, NY 10532 > http://www.research.ibm.com/people/w/welty > >
Received on Tuesday, 25 September 2007 19:23:27 UTC