Re: issues with BLD0921 (part 1 of n)

Jeez, I'm sure glad I didn't have Michael for a professor.

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 17:40:02 UTC