Re: A Logical Model for Lists as Relations
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Fri, 12 May 2006 04:14:53 GMT
Message-ID: <1ZT8g.6609$A26.169229_at_ursa-nb00s0.nbnet.nb.ca>
>
> You're making my point...
>
>
> As above, ; and [] are operators, not merely punctuation, and when
> items are packaged, more operators can be defined.
>
>
> In the full description there are significant differences. {} is
> an operator that constructs sets; there is a symmetric operator
> that turns them into bunches. The point is that there are more
> operators available for sets than there are bunches -- just as
> there are more operators available on lists than there are on
> strings.
Date: Fri, 12 May 2006 04:14:53 GMT
Message-ID: <1ZT8g.6609$A26.169229_at_ursa-nb00s0.nbnet.nb.ca>
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...
Frankly, I don't think you have a point that matters to anyone but yourself.
> [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.
Saying something is an operator without describing the operation the symbol represents is pointless and a waste of everyone's time.
>>> 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; there is a symmetric operator
> that turns them into bunches. The point is that there are more
> operators available for sets than there are bunches -- just as
> there are more operators available on lists than there are on
> strings.
So, basically, the whole thing is a circular reference conveying absolutely no meaning whatsoever. It's a list because it has an operator that makes it a list. Otherwise, it is identical to something else that is not a list. Big deal. Received on Fri May 12 2006 - 06:14:53 CEST