From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: GNAT packages in Linux distributions
Date: Wed, 12 May 2010 18:49:53 +0200
Date: 2010-05-12T18:49:53+02:00 [thread overview]
Message-ID: <op.vclqdfsnule2fv@garhos> (raw)
In-Reply-To: 4ebd36b8-ea2f-4879-aee6-2ac23a92ffc9@b7g2000yqk.googlegroups.com
Le Wed, 12 May 2010 17:59:21 +0200, Phil Thornley
<phil.jpthornley@googlemail.com> a écrit:
> Sorry, Yannick, but you are wrong.
>
> Recursion between subprograms in different packages is prohibited by
> the rule that mutual inheritance between packages is not allowed.
That's one of that severe limitations so (noted, as I'm learning).
> Recursion between subprograms in a single package (including self-
> recursion) is prohibited by the rule that a subprogram cannot be
> called until all of its body has been declared. I don't think this is
> mentioned in the SPARK language description, but if you violate this
> rule you get semantic error 163:
An attempt to give an answer : I had to drop recursivity in a JavaScript
application, because this was a long process and JavaScript has no support
at all for multi-tasking (except with some tricks relying on pop-up
windows... which unfortunately browsers blocks). So I had to rely on
timer, bounded execution chunk (kind of cooperative multitasking as it was
with Windows 3.1) and had to re-implement recursivity on top of an array
used as a stack. The “process” was reloading its previous state from
variables each time it was resuming, and as there was obviously no way to
restore the stack pointer (JavaScript is not C or assembly you know), I
had to re-implement the stack this way.
I suppose this kind of recursivity would be OK.
May be this help analysis after all ?
And there are recursivities which can be dropped, like the one of
binary-search (a kind of final recursivity, and that is a common
optimization in functional languages to drop these)
> I haven't seen the latest SPARK version yet (still waiting for the GPL
> version) but I would be very surprised if this has changed since the
> last version.
>
> Cheers,
>
> Phil
The one I've installed yesterday is version 8.1.1. Not version 9 Mark L
talked about, however, this one seems to already have support for generics.
--
pragma Asset ? Is that true ? Waaww... great
next prev parent reply other threads:[~2010-05-12 16:49 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-09 17:40 GNAT packages in Linux distributions Dmitry A. Kazakov
2010-05-09 18:16 ` Ludovic Brenta
2010-05-09 19:36 ` Dmitry A. Kazakov
2010-05-09 21:26 ` Ludovic Brenta
2010-05-09 21:34 ` Yannick Duchêne (Hibou57)
2010-05-10 1:20 ` Ludovic Brenta
2010-05-10 1:26 ` Ludovic Brenta
2010-05-25 20:40 ` Yannick Duchêne (Hibou57)
2010-05-10 9:41 ` Stephen Leake
2010-05-10 9:46 ` Ludovic Brenta
2010-05-10 14:29 ` sjw
2010-05-11 7:51 ` Ludovic Brenta
2010-05-11 9:33 ` sjw
2010-05-10 18:47 ` Yannick Duchêne (Hibou57)
2010-05-09 21:28 ` Yannick Duchêne (Hibou57)
2010-05-09 21:30 ` Yannick Duchêne (Hibou57)
2010-05-09 22:44 ` Simon Wright
2010-05-10 7:54 ` Dmitry A. Kazakov
2010-05-10 8:02 ` Dmitry A. Kazakov
2010-05-10 18:45 ` Yannick Duchêne (Hibou57)
2010-05-10 21:00 ` Ludovic Brenta
2010-05-10 22:17 ` Yannick Duchêne (Hibou57)
2010-05-11 6:56 ` Ludovic Brenta
2010-05-11 7:39 ` Dmitry A. Kazakov
2010-05-11 8:06 ` Yannick Duchêne (Hibou57)
2010-05-11 15:46 ` Pascal Obry
2010-05-11 16:05 ` Yannick Duchêne (Hibou57)
2010-05-11 16:09 ` Pascal Obry
2010-05-11 16:09 ` Pascal Obry
2010-05-11 17:08 ` stefan-lucks
2010-05-11 16:39 ` Yannick Duchêne (Hibou57)
2010-05-11 19:45 ` Yannick Duchêne (Hibou57)
2010-05-11 23:44 ` Yannick Duchêne (Hibou57)
2010-05-12 12:12 ` Mark Lorenzen
2010-05-12 14:55 ` Yannick Duchêne (Hibou57)
2010-05-11 17:35 ` Pascal Obry
2010-05-11 18:06 ` Yannick Duchêne (Hibou57)
2010-05-11 16:23 ` Yannick Duchêne (Hibou57)
2010-05-11 16:41 ` J-P. Rosen
2010-05-11 16:45 ` Dmitry A. Kazakov
2010-05-11 19:21 ` Yannick Duchêne (Hibou57)
2010-05-12 8:41 ` stefan-lucks
2010-05-12 14:52 ` Yannick Duchêne (Hibou57)
2010-05-12 15:59 ` Phil Thornley
2010-05-12 16:49 ` Yannick Duchêne (Hibou57) [this message]
2010-05-13 8:05 ` Phil Thornley
2010-05-12 15:37 ` Dmitry A. Kazakov
2010-05-12 16:06 ` Yannick Duchêne (Hibou57)
2010-05-12 17:24 ` Dmitry A. Kazakov
2010-05-12 18:09 ` Georg Bauhaus
2010-05-12 18:33 ` Dmitry A. Kazakov
2010-05-12 18:53 ` Georg Bauhaus
2010-05-12 21:57 ` Dmitry A. Kazakov
2010-05-13 2:03 ` Georg Bauhaus
2010-05-13 8:39 ` Dmitry A. Kazakov
2010-05-14 23:45 ` Georg Bauhaus
2010-05-15 9:30 ` Dmitry A. Kazakov
2010-05-15 18:39 ` Georg Bauhaus
2010-05-15 20:33 ` Dmitry A. Kazakov
2010-05-15 0:17 ` Robert A Duff
2010-05-15 9:40 ` Dmitry A. Kazakov
2010-05-12 18:15 ` Georg Bauhaus
2010-05-25 20:45 ` Yannick Duchêne (Hibou57)
2010-05-26 7:55 ` Dmitry A. Kazakov
2010-05-26 8:38 ` stefan-lucks
2010-05-26 8:01 ` Yannick Duchêne (Hibou57)
2010-05-26 11:25 ` Yannick Duchêne (Hibou57)
2010-05-26 13:02 ` stefan-lucks
2010-05-26 12:22 ` Yannick Duchêne (Hibou57)
2010-05-27 12:47 ` stefan-lucks
2010-05-27 12:26 ` Yannick Duchêne (Hibou57)
2010-05-26 13:06 ` (see below)
2010-05-27 12:41 ` stefan-lucks
2010-05-27 12:29 ` Yannick Duchêne (Hibou57)
2010-05-27 15:21 ` (see below)
2010-06-03 3:16 ` Yannick Duchêne (Hibou57)
2010-06-03 10:42 ` Brian Drummond
2010-06-03 21:14 ` (see below)
2010-06-03 22:00 ` Britt Snodgrass
2010-06-03 22:29 ` (see below)
2010-06-03 13:49 ` (see below)
2010-06-04 13:49 ` Georg Bauhaus
2010-06-04 13:53 ` Georg Bauhaus
2010-06-04 14:24 ` Yannick Duchêne (Hibou57)
2010-06-04 17:34 ` Georg Bauhaus
2010-06-04 15:29 ` (see below)
2010-05-12 18:10 ` stefan-lucks
2010-05-12 17:48 ` Dmitry A. Kazakov
2010-05-13 0:37 ` stefan-lucks
2010-05-13 9:09 ` Dmitry A. Kazakov
2010-05-13 0:33 ` Yannick Duchêne (Hibou57)
2010-05-10 14:15 ` GNAT Pro license (was: " Peter Hermann
2010-05-10 1:40 ` Björn Persson
2010-05-10 2:04 ` Yannick Duchêne (Hibou57)
2010-05-10 7:01 ` Ludovic Brenta
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox