From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Callback in Ada
Date: Mon, 29 Nov 2010 19:32:55 -0600
Date: 2010-11-29T19:32:55-06:00 [thread overview]
Message-ID: <id1k89$1vc$1@munin.nbi.dk> (raw)
In-Reply-To: 10p6vzd761rdz$.1gtmc0fk6t9rb.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
news:10p6vzd761rdz$.1gtmc0fk6t9rb.dlg@40tude.net...
...
> P.P.S. As Ada strives to introduce procedural-literals, e.g. conditional
> expressions, fancy quantified expressions and other awful stuff, it will
> inevitably require subprogram types, because you cannot get pointer of a
> literal. What is all this mess worth of if it cannot be given as a
> parameter?
No problem here, just use an expression function to give your expression a
name (and parameters); then you can use 'Access just fine. Forget anonymous
stuff, it only leads to heartache. :-)
function Foobar (A : Integer) return Integer is (if A > 10 then A - 5
else A);
[The only exception is anonymous access-to-subprogram, and that is because
of the special closure semantics. It would have been better to use a keyword
to get that semantics, something like:
type Local_Sub is local access function (A : Integer) return Integer;
but this isn't sufficiently broken for such a change.]
Randy.
Randy.
next prev parent reply other threads:[~2010-11-30 1:32 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-27 9:47 Callback in Ada Georg Maubach
2010-11-27 10:11 ` Dmitry A. Kazakov
2010-11-27 10:22 ` Ludovic Brenta
2010-11-27 11:04 ` Vinzent Hoefler
2010-11-27 22:05 ` Maciej Sobczak
2010-11-27 10:26 ` Alex Mentis
2010-11-27 10:46 ` Vinzent Hoefler
2010-11-27 11:32 ` Georg Bauhaus
2010-11-27 21:11 ` Jeffrey Carter
2010-11-27 21:20 ` Dmitry A. Kazakov
2010-11-28 21:35 ` Maciej Sobczak
2010-11-29 8:41 ` Dmitry A. Kazakov
2010-11-29 10:12 ` Maciej Sobczak
2010-11-29 11:04 ` Dmitry A. Kazakov
2010-11-30 1:32 ` Randy Brukardt [this message]
2010-11-30 8:38 ` Dmitry A. Kazakov
2010-11-30 9:14 ` AdaMagica
2010-11-30 12:37 ` Georg Bauhaus
2010-11-30 20:28 ` Randy Brukardt
2010-11-30 20:31 ` Randy Brukardt
2011-01-01 16:46 ` Yannick Duchêne (Hibou57)
2011-01-02 10:14 ` AdaMagica
2011-01-02 14:11 ` Robert A Duff
2011-01-02 15:15 ` AdaMagica
2011-01-02 15:28 ` Robert A Duff
2011-01-02 15:38 ` Alex Mentis
2011-01-02 15:44 ` Robert A Duff
2011-01-03 21:38 ` Randy Brukardt
2011-01-04 0:11 ` Robert A Duff
2011-01-04 18:33 ` Alex Mentis
2011-01-04 19:47 ` Robert A Duff
2011-01-04 20:21 ` Randy Brukardt
2011-01-04 20:15 ` Randy Brukardt
2010-11-29 15:24 ` Callback in Ada (User Data argument) Warren
2010-11-30 1:35 ` Randy Brukardt
2010-11-30 16:51 ` Warren
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox