Re: A Logical Model for Lists as Relations

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 12 May 2006 04:24:51 GMT
Message-ID: <n6U8g.6613$A26.169218_at_ursa-nb00s0.nbnet.nb.ca>


Jay Dee wrote:

> vc wrote:
> 

>> Jay Dee wrote:
>>
>>> vc wrote:
>>>
>>>> Jay Dee wrote:
>>>>
>>>>
>>>>> vc wrote:
>>>>
>>>>
>>>> [...]
>>>>
>>>>
>>>>>> data Nat = Zero | Succ Nat
>>>>>
>>>>>
>>>>> Others might write `0, nat+1: nat'
>>>>
>>>>
>>>> It depends on what 'others' might have meant. If they had in mind
>>>> initial algebra mumbo-jumbo, they would have been wrong. The 'others'
>>>> should have rather written [zero, succ]: 1 + nat ->nat. But the
>>>> initial algebra mumbo-jumbo hardly belongs here, being just a
>>>> variation on the Peano theme in the case of naturals.
>>>
>>> You're making my point...
>>
>> What is your point ?
>
> "It depends on what 'others' might have meant."

So, in other words, you just wanted to waste people's time because you don't have a clue.

>>> [snip]
>>>
>>>> I am sorry but the 'bunch' vs. set juxtaposition just does not make any
>>>> obvious sense. As soon as you talk about a 'bunch', 'herd', 'pack' of
>>>> 'set', the intuition is the same: a collection of some elements. It's
>>>> not important whether or not you use the pretty curly brackets.
>>>>
>>>>> The empty bunch is null and the empty set is {null}.
>>>>
>>>> See above. As soon as you imagine an empty collection, it does not
>>>> matter how you label it. Besides, {null} is not an empty set, {} is,
>>>> in the traditional math at least.
>>>
>>>>> Strings consist of items which may be any boolean, number, character,
>>>>> non-empty bunch, or set. Strings are catenated with ; (semicolon).
>>>>> So
>>>>> 17; 42; A; 17
>>>>> is a string of length 4.
>>>>
>>>>
>>>> So what's the difference between the traditional list and the 'string'
>>>> you've just described ?
>>>
>>> As above, ; and [] are operators, not merely punctuation, and when
>>> items are packaged, more operators can be defined.
>>
>> What's an 'operator' ?

To the rest of the world, an operator is a symbol that signifies some operation. Somehow, I don't think Jay Dee is interested in what the rest of the world thinks it means.

> Something that yields a value.  Nilary booleans give false and true,
> the boolean prefix unary NOT gives the complement of its input, the
> number infix + give the sum of two operands...  Like that.  Operator.

'Operator' without operation is pointless. The NOT operator signifies complement. The + operator signifies addition.

% is an operator. Big fucking deal.

> One math guy I often speak with says function when I like to say > operator.

That's because he knows what he is talking about and you do not. An operator is a symbol. A function maps a domain onto a range.

>  >>>>Items in a string can be referred to by
> 

>>>>> their 0-origin ordinal position. Ordering is defined as lexical and
>>>>> the < = > &c operators are defined. Indexing? You bet! Slicing?
>>>>> Of course!
>>>>>
>>>>> Lists are to strings as sets are to bunches.
>>>>> 17; 42; A; 17 is a string
>>>>> [17; 42; A; 17] is a list
>>>>
>>>> Ah, ok. So there is no difference except the superfluos brackets ?
>>>
>>> In the full description there are significant differences. {} is
>>> an operator that constructs sets;
>>
>> How do you define an operator without using the notion of the set first
>> ? What is the 'operator' in your language ?
> 
> Well, that's why bunch is there -- something to build on when
> defining sets.

In other words, it is something totally fucking pointless that does nothing and has no use.

plonk. Received on Fri May 12 2006 - 06:24:51 CEST

Original text of this message