FW: [mercury-users] Records

Richard A. O'Keefe ok at hermes.otago.ac.nz
Thu Nov 11 12:50:02 AEDT 1999


I wrote:
	> Could you at least allow the ×, ÷ and ¬
	> character as _alternatives_ for multiplication, division, and 
	> logical negation?

Robert Ernst Johann JESCHOFNIK <rejj at cat.cs.mu.OZ.AU> replied:
	I know nothing about unicode and the various specifications mentioned,
	however I'm going to take a stab in the dark and guess that there are also
	characters like &forall and &exists, that would look nice in existential
	type declarations.
	
×, ÷, and ¬ are the SGML names (hence the XML and HTML
names) for three ISO Latin 1 characters (16'D7, 16'F7, and 16'AC
respectively).

¬     is missing from ISO Latin 2, ISO Latin 3, ISO Latin 4,
	                  ISO Cyrillic, ISO Arabic,  ISO Latin 6,
	                  ISO Thai, and ISO Latin 8.
× and
÷ are missing from ISO Cyrillic, ISO Arabic, ISO Greek,
                          ISO Hebrew, ISO Latin 6,
                          ISO Thai, and ISO Latin 8.

The rule for a locale-sensitive ISO 8859-based parser would actually
be quite simple:  16'AC is the negation sign if and only if it is
not classified as a letter, similarly for × and ÷.
The only plausible ways to handle ISO 8859 characters above DEL are
to be locale-sensitive or to treat all those characters as letters
(which is basically what Quintus did) which doesn't work quite as well
as you might think.

Oddly enough, the only non-Latin-1 fonts I have installed on
my UNIX box are ISO Cyrillic and ISO Latin 2, so I have to live
with the fact that I can't have negation signs and Esperanto in
the same plain text document.  (Me, I'd swap the general currency
sign, with no known real use, for the negation sign any day of the
week.  I would also swap every single "accented blank" for some
decent English quotation marks; 8859 is _not_ backwards compatible
with ASCII, because ASCII allows overstriking, so _could_ make use
of accented blanks, but 8859 forbids overstriking, so _can't_.
But they didn't ask me.)

	It wouldn't be bad if we had a proper `implies' instead of :- either
	
U+2200 is indeed a universal quantifier, and
       ∀ is indeed an ISO 8879 name for the universal quantifier.
U+2203 is indeed an existential quantifier, and
       ∃ (but oddly enough, NOT &exists;) is indeed an
       ISO 8879 name for the existential quantifier.
I don't _think_ there's an &implies; in ISO 8879, because there is
no consensus as to what the symbol should be (which of course is
why there _should_ be a consensus as to the _name_ of the symbol...) but

U+2283	⊃	(horseshoe implies)
U+2192	→	(right single arrow)
U+21D2	⇒	(right double arrow)

are common choices.
--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list