comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Gnat GPL 2010 available soon (conditional expressions)
Date: Tue, 6 Jul 2010 09:36:42 +0200
Date: 2010-07-06T09:36:43+02:00	[thread overview]
Message-ID: <1wl74eppoqii9$.1oxpbe851z3jk$.dlg@40tude.net> (raw)
In-Reply-To: 8ac6b8d6-f4c0-4a8b-b3aa-ff6f2d136544@k39g2000yqb.googlegroups.com

On Mon, 5 Jul 2010 15:47:41 -0700 (PDT), Phil Clayton wrote:

> On Jul 5, 2:12�pm, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
>> On Sun, 4 Jul 2010 18:27:04 -0700 (PDT), Phil Clayton wrote:
>>> In my view, condition expressions are a step in the right direction...
>>> but I'm the sort of person who wants to write an array aggregate like
>>
>>> � (for I in 1 .. 5 => (for J in 1 .. 7 => (if I = J then 1.0 else
>>> 0.0)))
>>
>> � (for I in 1..5 => (for J in 1..7 => Float (Boolean'Pos (I = J))))
> 
> Yep, I should have seen that one coming straight back... and taken
> steps to avoid it :)

BTW, is your construct 1) a macro expansion (as I remember PL/1
preprocessor also had %for statement alike) and how far are you ready to go
allowing "for" macros? Loops unrolling? Or else 2) it is an attempt to name
the components of an array element index. In the latter case

   (I, J : others => <an expression involving I,J>)
   (I : 1..5 => <an expression involving I>)
   (Odd : 1 | 3 | 5 | 7 => <an expression involving Odd>, others => 0.0)
   etc

looks to me more consistent with existing Ada, e.g. when Error : others =>
in exception handlers.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2010-07-06  7:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-16 20:14 Gnat GPL 2010 available soon Stephen Sangwine
2010-06-16 21:24 ` Martin
2010-06-16 21:35 ` Simon Wright
2010-06-18 19:48 ` Albrecht Käfer
2010-06-26 12:04   ` lekktu
2010-06-26 21:04     ` anon
2010-06-26 21:41       ` lekktu
2010-06-27  3:33         ` anon
2010-06-27 10:49           ` lekktu
2010-06-26 21:42     ` Dmitry A. Kazakov
2010-06-26 22:01       ` lekktu
2010-06-27  8:04       ` Gnat GPL 2010 available soon (conditional expressions) Georg Bauhaus
2010-06-27  8:37         ` Dmitry A. Kazakov
2010-06-27 10:55           ` lekktu
2010-06-27 12:12             ` Dmitry A. Kazakov
2010-06-27 13:42               ` Georg Bauhaus
2010-06-27 14:35                 ` Peter C. Chapin
2010-06-27 16:53                   ` Dmitry A. Kazakov
2010-06-28 11:24                     ` Peter C. Chapin
     [not found]                       ` <oizwym2afwmx.1jm5tt7wtpm7v.dlg@40tude.net>
2010-06-28 14:47                         ` Georg Bauhaus
2010-06-28 16:36                           ` Dmitry A. Kazakov
2010-06-28 17:04                             ` Georg Bauhaus
2010-06-28 17:37                               ` Dmitry A. Kazakov
2010-06-29 19:28                   ` Randy Brukardt
2010-06-30  1:19                     ` BrianG
2010-06-30  3:21                       ` Britt Snodgrass
2010-07-05  1:27                         ` Phil Clayton
2010-07-05 10:26                           ` Georg Bauhaus
2010-07-05 14:24                             ` Phil Clayton
2010-07-05 13:12                           ` Dmitry A. Kazakov
2010-07-05 22:47                             ` Phil Clayton
2010-07-06  7:36                               ` Dmitry A. Kazakov [this message]
2010-07-06  9:13                                 ` Georg Bauhaus
2010-07-06 16:31                                 ` Phil Clayton
2010-07-06 17:18                                   ` Dmitry A. Kazakov
2010-07-07 12:00                                     ` Phil Clayton
2010-07-07 13:39                                       ` Dmitry A. Kazakov
2010-06-30  4:13                       ` Gautier write-only
2010-06-30 16:46                         ` Warren
2010-06-30  4:09                     ` Gautier write-only
2010-06-30 23:20                       ` Peter C. Chapin
2010-06-27 21:40 ` Gnat GPL 2010 available soon mahdert
replies disabled

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