From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3d3f20d31be1c33a X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Use use type? (Was Re: Safety-critical development in Ada and Eiffel) Date: 1997/07/21 Message-ID: #1/1 X-Deja-AN: 257988639 References: Organization: New York University Newsgroups: comp.lang.ada Date: 1997-07-21T00:00:00+00:00 List-Id: Brian said <> I don't understand the motivation at all behind making an exception for primitive operators. I still don't see why people have such a different view of Add (x, y) and x + y I appreciate (though usually do not agree with) the position that everything must be dotted so you can see where it came from in the absence of tools to identify defining occurrences easily. But I do not see why the above two examples strike people as so different. To me the infix notation is simply minor syntactic sugar for the function call. Minor from a semantic point of view. I understand that people like the convenience of infix notation, but if you really believe that dots are needed so that the maintainer knows exactly where everything comes from, then why the exception? If your principle is on the other hand: use dots where needed for clarity (and I have some ideas of what this means). Then why not use "use" clauses and dot where you want, and don't dot where you don't want. Sure that is a bit more of a burden on the writer, who has to understand the principles of when dots are or are not required, but not on the reader, and it is the reader we are concerned with. Why not use "use" systematically, and then have the compiler or some other tool enforce whatever restriction you want on the use of undotted references. Note that a pragma like pragma Restrictions ("Dot_Where_Required_By_ACME_Tools_Conventions") is a perfectly valid one.