Re: Definition of reference - was Continuation - An attempt at retriggering thought about past subjects
Date: Thu, 19 Apr 2007 23:04:09 GMT
Message-ID: <JzSVh.99362$aG1.18104_at_pd7urf3no>
Bruce C. Baker wrote:
> "mAsterdam" <mAsterdam_at_vrijdag.org> wrote in message
> news:4627ac75$0$328$e4fe514c_at_news.xs4all.nl...
>
>>Bruce C. Baker wrote: >> >>>Jonathan Leffler wrote: >>> >>>>Cimode wrote: >>>> >>>>>I hope this may have some usefulness... >>>>> >>>>>1) On a better formalization of reference definition, (subjects >>>>>launched by Marshall)..I we came to the following formalization... >>>>>(using math symbology I apologize in advance for being too terse)... >>>>> >>>>>--Reference >>>>>R(a) ? S(b) ??a E R,?R(a): ?b E S | ?S(b) | a=b >>>>>--Reference Unique >>>>>R(a) ? S(b) ??a E R,?R(a): ?!b E S | ?!S(b) | a=b >> >>Your 'newsreader' (it identifies itself as 'Outlook express' >>is that a newsreader ????) garbles the unicode.
>
>
> Hey! No cheap shots at OE's expense! :-D True, it's not great, but it's
> usually good enough for both email and newsgroups.
>
> Thanks for the link.
>
>
Personally, that thread was a big hit with me, not because I liked the notation but just because it was so refreshing to see something more formal here, not just formal but consise too. (I imagine I would have thought so even if I trusted M$ LookOut with my email.) I like the keyword "references" as a convenience, but only when it has a formal definition, ie., one that isn't susceptible to the mis-interpretations that English is often prey to.
The other thing I like about terse formal definitions is that when people start talking about external issues, the lack of formality is usually a tipoff that they are not talking about fundamentals (I'm not criticizing anybody on that score, it's just too easy to mistakenly read into people's comments that they are intending to talk about RM or some other model, when in fact they are talking about some application of it.)
However, I personally find Tutorial D notation even tidier, as least for "references". Now whenever I try to write in a D-like syntax, I usually make some mistake or other but here's how I think a specific reference constraint could look:
Items{Invoice#} <AND> Invoices{Invoice#} = Items{Invoice#}
where '=' means "equals", not assignment, has lowest precedence, <AND> has the next highest precedence and projection "{}" has highest precedence.
(If it were my choice, I'd write <AND> as "and" or "&". Overloading has
never bothered me as I'm pretty much an English-only speaker and it's
hard to find an English word that isn't overloaded. For that matter the
word "overloaded" is overloaded itself! Besides I'd guess it could be
argued that the logical connectives in the calculus of Frege and others
are overloaded too. That's okay with me as I find it easy to see that
Items and Invoices are different and having a language with few
operators is also easier for me. Whereas having a different "and"
operator for different types would slow me down a lot, I think. )
p