comp.lang.ada
 help / color / mirror / Atom feed
From: Magnus.Kempe@di.epfl.ch (Magnus Kempe)
Subject: Re: Ada.strings.bounded problems?
Date: 20 Jan 1995 16:03:11 GMT
Date: 1995-01-20T16:03:11+00:00	[thread overview]
Message-ID: <3fomrv$7i9@disunms.epfl.ch> (raw)
In-Reply-To: 1995Jan20.120612@lglsun.epfl.ch

In article <1995Jan20.120612@lglsun.epfl.ch>, nebbe@lglsun.epfl.ch (Robb Nebbe) writes:
: 
: There should probably be a section in the programming FAQ about
: these cases where the semantics of the language are goofy (if
: not outright wrong). If you wrote something up I'm sure Magnus
: would include it in the FAQ.

I'd rather see it fixed in the language than described in the FAQ :-)

Anyway, if you want to see something added to the FAQ, write it (the
question _and_ answer, not just the question) and email it to me.

The case of "lost equality" is actually quite unfortunate, because there
is no justification in trying to preserve "backward compatibility".  If
some reckless soul did use the "Goodenough trick" in production code,
they would have to check their code, but that'd hardly be an undeserved
task (and that's what a reckless course of action is about).

It really turns out to be a major failure for type composition.
User-defined equality should be treated like user-defined control.
It should transparently compose, not be shackled with tags and
obscure rules.  "Free Equality!"

Maybe an artistic interpretation of RM 9X 4.5.2(14) could declare
that what the paragraph intended was
  For a type extension, predefined equality is defined in terms of the
  primitive (possibly user-defined) equals operator of the parent type
  and of the components of the extension part.

instead of
  For a type extension, predefined equality is defined in terms of the
  primitive (possibly user-defined) equals operator of the parent type
  and of any tagged components of the extension part, and predefined
  equality for any other components not inherited from the parent type.

And then another artistic interpretation would say that RM 9X 4.5.2(24)
really means
  Otherwise, the result is defined in terms of the primitive equals
  operator for any matching components.

instead of
  Otherwise, the result is defined in terms of the primitive equals
  operator for any matching tagged components, and the predefined equals
  for any matching untagged components.

If artists are not permitted to offer their interpretations of rm9x, we
can still go for GNAT, add a -artistic option, and ask other compiler
vendors to do the same.  Finally, note that comments on rm9x should be
sent to ada-comment@sei.cmu.edu, following the format described in the
introduction of the reference manual.  I don't know how artistic the
interpretations will be, though.


Don't ask me what I think of the selection of operations for "generic
formal derived types" that are not "formal private extensions" (12.5.1).
-- 
Magnus Kempe		"I know not what course others may take, but as for me,
Magnus.Kempe@di.epfl.ch  Give me Liberty... or give me Death!" -- Patrick Henry



  reply	other threads:[~1995-01-20 16:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <TARJEIJ.95Jan11183331@ulrik.uio.no>
1995-01-12 14:24 ` Ada.strings.bounded problems? Robert Dewar
1995-01-12 15:59 ` Norman H. Cohen
1995-01-13 19:33   ` Mats Weber
     [not found] ` <EACHUS.95Jan11170317@spectre.mitre.org>
1995-01-12 18:10   ` Robert Dewar
     [not found] ` <D29L78.J9@nntpa.cb.att.com>
1995-01-12 18:16   ` Norman H. Cohen
1995-01-13 10:52     ` Tarjei Jensen
1995-01-13 19:29     ` Mats Weber
     [not found]       ` <3fduto$ta7@watnews1.watson.ibm.com>
     [not found]         ` <Mats.Weber-1701951908250001@mlma11.matrix.ch>
1995-01-18 14:27           ` Norman H. Cohen
1995-01-19 16:49             ` Mats Weber
1995-01-21  5:28               ` Robert Dewar
     [not found]             ` <1995Jan19.124412@lglsun.epfl.ch>
1995-01-19 21:59               ` Norman H. Cohen
1995-01-23 15:56                 ` Mats Weber
1995-01-24 18:49                   ` Robert A Duff
1995-01-24 19:24                   ` Robert Dewar
1995-01-25 17:26                     ` Norman H. Cohen
     [not found]                     ` <Mats.Weber-2701952307410001@mlma11.matrix.ch>
1995-01-30 14:15                       ` David Emery
1995-02-01 14:02                         ` William Brennan
1995-02-01 14:28                           ` William Brennan
1995-02-01 20:46                           ` Robert Firth
     [not found]                             ` <3gr5b4$1eq2@info4.rus.uni-stuttgart.de>
     [not found]                               ` <D3H6qD.AD6@inmet.camb.inmet.com>
1995-02-07 20:22                                 ` Norman H. Cohen
1995-02-11 15:58                                   ` David Weller
1995-02-01 21:48                           ` Mark A Biggar
     [not found]                           ` <3grvi1$jvm@gnat.cs.nyu.edu>
1995-02-08 15:22                             ` Passive tasks (was: bounded strings) Schilling J.
1995-02-10  1:51                               ` Robert Dewar
1995-01-20 17:00               ` Ada.strings.bounded problems? Robert Dewar
1995-01-18 16:23           ` Cyrille Comar
1995-01-18 17:48           ` Robert Dewar
1995-01-19  1:36           ` Keith Thompson
1995-01-19 17:53             ` Jacob Sparre Andersen
1995-01-20 11:12               ` Robb Nebbe
1995-01-20 16:03                 ` Magnus Kempe [this message]
1995-01-21 18:57                   ` Robert Dewar
1995-01-23 13:37                     ` Robb Nebbe
1995-01-24 14:38                       ` Robert Dewar
1995-01-24 19:24                       ` Tucker Taft
1995-01-25 10:25                         ` Robb Nebbe
     [not found]                         ` <Mats.Weber-2701952308000001@mlma11.matrix.ch>
1995-01-29  5:29                           ` Robert Dewar
     [not found]           ` <1995Jan18.164836.2222@nbivax.nbi.dk>
1995-01-22 18:05             ` Tucker Taft
1995-01-12 22:17   ` Robert Dewar
     [not found]     ` <D2D8DC.JvM@nntpa.cb.att.com>
     [not found]       ` <3fja22$fab@source.asset.com>
1995-01-18 18:02         ` Norman H. Cohen
1995-01-20  5:12         ` Robert Dewar
     [not found]   ` <D2J8H0.DMu@aplcenmp.apl.jhu.edu>
1995-01-18  5:01     ` Robert Dewar
1995-01-22 18:09     ` Tucker Taft
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox