comp.lang.ada
 help / color / mirror / Atom feed
From: Martin <martin@thedowies.com>
Subject: Re: Ada202X : Adding functors
Date: Thu, 15 Nov 2012 04:46:16 -0800 (PST)
Date: 2012-11-15T04:46:16-08:00	[thread overview]
Message-ID: <82741d6d-c267-4092-a880-7ae1283e459f@googlegroups.com> (raw)
In-Reply-To: <50a4e088$0$9518$9b4e6d93@newsspool1.arcor-online.net>

On Thursday, November 15, 2012 12:31:42 PM UTC, Georg Bauhaus wrote:
> On 15.11.12 08:12, Martin wrote:
> 
> > Yup...I think I listed lambdas in another post...possibly even my 'No 1'! No chance of me using them in my C++ work, our compilers aren't up to C++11.
> 
> >
> 
> 
> 
> If lambda-expressions should help with not naming small
> 
> expressions that don't deserve a name (that'll be fun!),
> 
> and if lambda-expressions need not be passed upwards,
> 
> then maybe more along the lines of if-expressions, and
> 
> expression functions,
> 
> 
> 
> with Ada.Containers.Vectors;
> 
> 
> 
> procedure Foo is
> 
>     
> 
>     package Nats is new Ada.Containers.Vectors
> 
>       (Index_Type => Positive,
> 
>        Element_Type => Natural);
> 
> 
> 
>     V : Nats.Vector;
> 
>     Sum : Natural := 0;
> 
> 
> 
> begin  -- not Ada
> 
> 
> 
>     V.Iterate (Process => (with (Position : Cursor) do
> 
>                              Sum := Sum + Element (Position)));
> 
> 
> 
>     declare
> 
>        Copy2 : Nats.Vector;
> 
>     begin
> 
>        for E of V loop
> 
>           Copy2.Append
> 
>             (New_Item =>
> 
>                (with (X : Natural => E) return Natural is
> 
>                   2 * X));
> 
>        end loop;
> 
>     end;
> 
> 
> 
> end Foo;

+1



  reply	other threads:[~2012-11-15 12:46 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-12 22:09 Ada202X : Adding functors Martin
2012-11-12 23:14 ` Jeffrey Carter
2012-11-12 23:19   ` Martin
2012-11-13 10:45     ` Georg Bauhaus
2012-11-13 12:08       ` Yannick Duchêne (Hibou57)
2012-11-13 12:35       ` Martin
2012-11-12 23:44 ` Adam Beneschan
2012-11-13  2:11   ` Jeffrey Carter
2012-11-13 11:11   ` Martin
2012-11-14  0:51     ` Adam Beneschan
2012-11-14  8:39       ` Martin
2012-11-14 16:54         ` Adam Beneschan
2012-11-14 18:54           ` Martin
2012-11-14 20:37           ` Dmitry A. Kazakov
2012-11-14 20:57             ` Shark8
2012-11-14 21:31             ` Martin
2012-11-14 22:42               ` Adam Beneschan
2012-11-15  9:27               ` Dmitry A. Kazakov
2012-11-14 21:45             ` Simon Wright
2012-11-14 22:22               ` Martin
2012-11-14 22:27               ` Martin
2012-11-13  4:22 ` Shark8
2012-11-15  0:20 ` sbelmont700
2012-11-15  7:12   ` Martin
2012-11-15 12:21     ` Georg Bauhaus
2012-11-15 12:31     ` Georg Bauhaus
2012-11-15 12:46       ` Martin [this message]
2012-11-16  6:15       ` Randy Brukardt
2012-11-15 10:11   ` Dmitry A. Kazakov
2012-11-15 15:52     ` Peter C. Chapin
2012-11-15 17:04       ` Dmitry A. Kazakov
2012-11-15 19:57         ` Georg Bauhaus
2012-11-15 20:39           ` Dmitry A. Kazakov
2012-11-16  0:15             ` Peter C. Chapin
2012-11-16 10:12               ` Georg Bauhaus
2012-11-16  0:01         ` Peter C. Chapin
2012-11-16  6:09           ` Randy Brukardt
2012-11-16 12:35             ` Peter C. Chapin
2012-11-16 18:10               ` Martin
2012-11-16  8:59           ` Dmitry A. Kazakov
2012-11-16 12:20             ` Peter C. Chapin
2012-11-16 17:44               ` Dmitry A. Kazakov
2012-11-18 15:58                 ` Peter C. Chapin
2012-11-15 21:34     ` sbelmont700
replies disabled

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