Re: Quoted atoms are no longer operators
Ulrich Neumerkel <[email protected]>
| Newsgroups | gmane.comp.ai.prolog.swi |
|---|---|
| Message-ID | <[email protected]> |
Jan Wielemaker: >> On 22-11-13 16:36, Jan Wielemaker wrote: >>> - Quoted atoms are no longer operators. >> >> also about this change, I'd like to know: is there a (very) good reason? >> If not, I'd like to add my voice to what Richard said [1]: this is a bad >> idea, making e.g. operators with spaces in them impossible. > >True. I've never seen them in the wild though. Putting white space >inside identifiers is a pretty bad idea anyway because many reformatting >tools (or editor commands) can silently change this, breaking your code >and anyway, the difference between 'a<space>b' and 'a<tab>b' may be >invisible and the difference between 'a b' and 'a b' is poorly visible, >in particular when using variable pitch fonts. Your statement needs a clarification. ISO does not define 'a<tab>b' as valid syntax. Nor any other layout except the space. For exactly the reason you give. However, on a very formal basis, you can decare this as an extension due to 5.5.1 Syntax. Many systems do this, the notable exceptions are GNU and SICStus. http://www.complang.tuwien.ac.at/ulrich/iso-prolog/conformity_assessment#5 So we have here the same pattern again: 1mo: non-adherence to the standard 2do: blaming the standard for something it forbids, deriding the "tiny" issues the standard deals with. 3tio: introduction of incompatibile features to heal the disease created in 1mo. >Richard's A '\uXXXX' B argument makes a little more sense. On the other >hand, if you want it this ugly, '\uXXXX'(A,B) is just as good (or should >I say ugly). A better criterion is conformance/nonconformance. The ISO syntax for above is '\xXXXX\', btw. >This is a quite isolated issue. ...