comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Advice on selling Ada to a C shop
Date: Wed, 23 Jun 2010 17:33:40 -0400
Date: 2010-06-23T17:33:40-04:00	[thread overview]
Message-ID: <wcc63198mdn.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 4c22669b$0$3623$4d3efbfe@news.sover.net

"Peter C. Chapin" <pcc482719@gmail.com> writes:

> I wasn't involved in the discussion that lead to the decision to include
> conditional expressions in Ada, but my impression is that they were
> introduced in large measure to make the new pre- and post-conditions more
> expressive.

Yes, that's a big part of the reason.  One use for them is to express
logical implication.  ARG considered, and rejected, the idea of
adding an "implies" operator.  Instead, you can say something like:

    procedure P (...) with
        Pre => (if X > 10 then Y > 10);

The "else True" is implied here.  So it means the same
as what "X > 10 implies Y > 10" would mean if "implies"
were in the language.

This is not (yet) Ada!  It is proposed for Ada 2012.

> In any case conditional expressions are entirely normal in functional
> languages and widely implemented by such languages. They are not some sort of
> C quirk as you seem to suggest. I'm not suggesting that Ada should become a
> functional language (lambdas, anyone?) but to a person fluent with functional
> programming such expressions are very natural.

Lambdas should indeed be added to Ada, IMHO, and they have been
discussed by ARG.  I forget the status, but I don't think they'll
make it in.  We had a lot of trouble coming up with a readable
syntax, for one thing.  (And nobody proposed any syntax involving
a "lambda" keyword.)

But to be a true functional language Ada would need more than that.
Full closures, for example.  And those pretty much require
garbage collection.

- Bob



  parent reply	other threads:[~2010-06-23 21:33 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-19 23:01 Advice on selling Ada to a C shop usenet
2010-06-20  6:17 ` Jeffrey R. Carter
2010-06-20  6:24 ` Jeffrey R. Carter
2010-06-21 14:07   ` Warren
2010-06-20  7:00 ` J-P. Rosen
2010-06-20  7:40   ` Nasser M. Abbasi
2010-06-20 12:46     ` Peter C. Chapin
2010-06-21 14:23       ` Warren
2010-06-25 17:34         ` Marco
2010-06-28 13:22           ` Warren
2010-06-29  8:42             ` Stephen Leake
2010-07-01 21:09               ` Per Sandberg
2010-08-21  3:53               ` Yannick Duchêne (Hibou57)
2010-08-21  9:22                 ` Ludovic Brenta
2010-08-21 10:10                   ` Simon Wright
2010-08-22  0:16                   ` Brian Drummond
2010-06-20  9:34 ` Ludovic Brenta
2010-06-20 12:35   ` Peter C. Chapin
2010-06-20 17:44   ` Fritz Wuehler
2010-06-20 18:06     ` Ludovic Brenta
2010-06-20 21:13       ` Georg Bauhaus
2010-06-21  0:29         ` Ludovic Brenta
2010-06-21  1:14           ` Nasser M. Abbasi
2010-06-21  8:10             ` Georg Bauhaus
2010-06-24  0:04             ` BrianG
2010-06-28 13:37               ` Warren
2010-06-21  8:14           ` Georg Bauhaus
2010-06-21  9:22           ` George Orwell
2010-06-21 13:59             ` Ludovic Brenta
2010-08-21  4:28               ` Yannick Duchêne (Hibou57)
2010-08-21  9:21                 ` Ludovic Brenta
2010-08-21 11:06                 ` Brian Drummond
2010-06-21 14:40             ` Warren
2010-06-21 17:38               ` Jeffrey R. Carter
2010-06-21 20:04                 ` Warren
2010-06-21 19:47               ` starwars
2010-06-21 20:07                 ` Warren
2010-06-21 14:33           ` Warren
2010-06-21 14:29       ` Warren
2010-06-22  5:01         ` Fritz Wuehler
2010-08-21  4:11     ` Yannick Duchêne (Hibou57)
2010-08-21  9:01       ` Pascal Obry
2010-08-21  9:24       ` Ludovic Brenta
2010-06-21  8:29 ` Maciej Sobczak
2010-06-21  9:58   ` Ludovic Brenta
2010-06-23 15:36   ` Brian Drummond
2010-06-21 13:43 ` Warren
2010-06-22 15:00 ` Lucretia
2010-06-22 18:01   ` anon
2010-06-22 19:06     ` Nasser M. Abbasi
2010-06-23 16:20       ` anon
2010-06-23 18:19         ` (see below)
2010-06-23 22:28           ` Brian Drummond
2010-06-23 19:57         ` Peter C. Chapin
2010-06-23 20:50           ` Adam Beneschan
2010-06-23 21:24             ` Robert A Duff
2010-06-29 20:30             ` Randy Brukardt
2010-06-29 20:35               ` Adam Beneschan
     [not found]               ` <pcadnQUIZdtJeLfRnZ2dnUVZ_oWdnZ2d@earthlink.com>
2010-07-01 11:32                 ` Stephen Leake
2010-06-23 21:33           ` Robert A Duff [this message]
2010-06-24 17:25             ` anon
2010-06-24 22:18               ` Adam Beneschan
2010-06-24  7:48           ` Maciej Sobczak
2010-06-24 17:24             ` anon
2010-06-24 19:34               ` Maciej Sobczak
     [not found]     ` <CbSdncnFfaC6A7zRnZ2dnUVZ_oYAAAAA@earthlink.com>
2010-07-06  5:37       ` David Thompson
2010-07-06 11:14         ` anon
2010-07-09 13:21           ` Marco
2010-07-09 13:45             ` Dmitry A. Kazakov
2010-07-09 14:12               ` Georg Bauhaus
2010-07-09 15:08                 ` Dmitry A. Kazakov
2010-06-22 18:06 ` Phil Clayton
2010-06-22 20:25   ` Gautier write-only
2010-06-22 21:00 ` Gautier write-only
2010-06-23  7:17   ` Maciej Sobczak
2010-06-23  7:40     ` Gautier write-only
2010-06-23 11:17       ` Georg Bauhaus
2010-06-23 18:38         ` Jeffrey R. Carter
2010-06-23  8:08     ` Gautier write-only
replies disabled

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