comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Ada202X : Adding functors
Date: Wed, 14 Nov 2012 21:45:24 +0000
Date: 2012-11-14T21:45:24+00:00	[thread overview]
Message-ID: <lyzk2jrh8r.fsf@nidhoggr.home> (raw)
In-Reply-To: 1na6brajyyab1.1m57ova8gzvwk$.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> On Wed, 14 Nov 2012 08:54:09 -0800 (PST), Adam Beneschan wrote:
>
>> A new way to write obfuscated code?
>
> I don't understand the point. If there is any obfuscation then on the
> Ada's side which does not support straightforward declaration of
> user-defined arrays/indexing operation.

This is Martin's code:

   procedure Test is
      F1 : constant Algorithm := C_To_F.Create (10.0);
      F2 : constant Algorithm := C_To_F.Create (20.0);
   begin
      Put_Line ("F1 := " & Long_Float'Image (F1(X)));
      Put_Line ("F2 := " & Long_Float'Image (F2(X)));
   end Test;

F1(X) is a user-defined array indexing which returns the Fahrenheit
equivalent of the 10.0 Celsius that F1 was created with *no matter what
index you supply* because the only purpose of making it look like an
array indexing was to avoid making it look like what it is - a
subprogram call.

There may be some point in this in C++, if the templating mechanism only
cares about the syntactic feature of ()-represents-invocation. I'm not
sure I want to know.



  parent reply	other threads:[~2012-11-21  8:34 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 [this message]
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
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