comp.lang.ada
 help / color / mirror / Atom feed
From: AdaMagica <christ-usch.grein@t-online.de>
Subject: Re: extended membership tests
Date: Thu, 31 Mar 2011 22:14:22 -0700 (PDT)
Date: 2011-03-31T22:14:22-07:00	[thread overview]
Message-ID: <5ab2b5ee-d08e-4e5e-93a7-808636f3cfa0@p16g2000yqb.googlegroups.com> (raw)
In-Reply-To: wcchbaj8imz.fsf@shell01.TheWorld.com

On 31 Mrz., 16:33, Robert A Duff <bobd...@shell01.TheWorld.com> wrote:
> For extra credit, what happens if we replace b2 with:
>
>     b3: boolean := int_sets.to_set(new_item => x)
>                 in int_sets.to_set(new_item => x)
>                 or int_sets.to_set(new_item => y);

OK, I'll try. We should write this as

   b3: boolean :=
   int_sets.to_set(new_item => x) in
      int_sets.to_set(new_item => x) or int_sets.to_set(new_item =>
y);

So the right-hand side is a choice_expression of the form
simple_expression or simple_expression.
So if there isn't an or operator for sets (I don't know, I didn't
check the set container), it's illegal.
If there is one, it's a set (presumably the union) and it's the
tested_set.
The lhs is a simple_expression which is tagged (I presume sets are
tagged) which must resolve to a type convertible to the tested type,
which it is.
Now we have an individual membership test lhs in rhs.
The simple expression (lhs) is not equal to the value of the
membership_choice (rhs). So the membership test returns False.

   int_sets.to_set(new_item => x) in
      int_sets.to_set(new_item => x) | int_sets.to_set(new_item => y);

would return True.

This doesn't seem very intuitive to me. (Provided that my reading of
the RM is correct.)



  parent reply	other threads:[~2011-04-01  5:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-31  7:04 extended membership tests Dan
2011-03-31  7:34 ` AdaMagica
2011-03-31  7:55   ` Dan
2011-03-31  7:58     ` Dan
2011-03-31  8:05 ` Ludovic Brenta
2011-03-31  9:28 ` AdaMagica
2011-03-31 14:33 ` Robert A Duff
2011-03-31 16:28   ` extended membership tests (branch) Georg Bauhaus
2011-03-31 17:58     ` Robert A Duff
2011-03-31 18:54     ` Adam Beneschan
2011-03-31 21:08       ` Georg Bauhaus
2011-03-31 21:10       ` Randy Brukardt
2011-04-01  5:14   ` AdaMagica [this message]
2011-04-01  6:33     ` extended membership tests Dan
2011-04-01  7:03       ` AdaMagica
2011-04-01  9:56         ` stefan-lucks
2011-04-01 15:11         ` Adam Beneschan
2011-04-02  1:22         ` Randy Brukardt
replies disabled

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