From: EGarrulo <egarrulo@gmail.com>
Subject: Re: Running a preprocessor from GPS?
Date: Sat, 1 Aug 2015 01:06:31 -0700 (PDT)
Date: 2015-08-01T01:06:31-07:00 [thread overview]
Message-ID: <25e8deb9-a967-4856-97cb-4257e1ba7fa4@googlegroups.com> (raw)
In-Reply-To: <lyzj2bo4pi.fsf@pushface.org>
On Saturday, August 1, 2015 at 9:19:05 AM UTC+2, Simon Wright wrote:
> EGarrulo writes:
>
> > On Friday, July 31, 2015 at 7:54:52 PM UTC+2, Jeffrey R. Carter wrote:
> >> Many of the "design patterns" are actually implementation patterns to
> >> work around deficiencies in the languages used in the book. An
> >> obvious example is the "singleton pattern". In Ada, a singleton is
> >> simply a pkg. It's only a problem that needs a pattern in languages
> >> that lack modules.
> >
> > But a singleton would be instantiated when the "Get_Instance" function
> > gets called by client code, not when a module gets loaded. Or does
> > Ada load a package at the first call?
>
> According to Wikipedia, a singleton "is useful when exactly one object
> is needed to coordinate actions across the system". And encapsulating
> that object in a package meets that criterion.
But all languages that I know let you do that, including C. Their concept of
a package may be informal, but it is there.
> Isn't a Get_Instance function a way of getting the desired effect in C++
> etc, rather than a necessary detail of the pattern? I can see that it
> allows you to postpone creating the singleton instance until a time of
> your choosing, rather than the Ada way of doing it during package
> elaboration in a sequence chosen by the compilation/build engine.
I can't see how Ada lets you postpone the creation of a singleton until a time
of your choosing, without resorting to Get_Instance. What is the equivalent of
this code:
if Some_Condition then
Singleton := Singleton_Package.Get_Instance;
-- Use singleton.
end if;
without using Get_Instance? I have tried:
if Some_Condition then
declare
with Ada; use Ada;
begin
Singleton := Singleton_Package.Singleton_Instance; -- Read variable.
-- Use singleton.
end;
end if;
But the compiler complains that "aspect specifications not allowed here". Or
does "with Package" put a package in scope without elaborating it until "use
Package", and therefore I should have left only the "use" directive?
next prev parent reply other threads:[~2015-08-01 8:06 UTC|newest]
Thread overview: 175+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 14:28 Running a preprocessor from GPS? EGarrulo
2015-07-27 16:47 ` David Botton
2015-07-27 17:17 ` EGarrulo
2015-07-27 20:26 ` Randy Brukardt
2015-07-27 21:14 ` Jeffrey R. Carter
2015-07-27 22:23 ` EGarrulo
2015-07-28 7:23 ` Simon Wright
2015-07-28 11:36 ` EGarrulo
2015-07-28 21:12 ` Randy Brukardt
2015-07-28 22:11 ` EGarrulo
2015-07-28 22:41 ` EGarrulo
2015-07-29 9:52 ` G.B.
2015-07-29 20:32 ` Randy Brukardt
2015-07-29 22:32 ` EGarrulo
2015-07-29 23:51 ` Jeffrey R. Carter
2015-07-30 0:10 ` EGarrulo
2015-07-30 6:01 ` Niklas Holsti
2015-07-30 7:33 ` Björn Lundin
2015-07-30 8:03 ` EGarrulo
2015-07-30 8:08 ` Jacob Sparre Andersen
2015-07-30 8:37 ` EGarrulo
2015-07-30 8:49 ` Georg Bauhaus
2015-07-30 12:15 ` EGarrulo
2015-07-30 14:11 ` G.B.
2015-07-30 19:29 ` Jeffrey R. Carter
2015-07-30 20:53 ` EGarrulo
2015-07-30 22:52 ` Jeffrey R. Carter
2015-07-31 7:29 ` Georg Bauhaus
2015-07-31 7:53 ` gautier_niouzes
2015-07-31 8:26 ` Simon Wright
2015-07-31 9:13 ` Dmitry A. Kazakov
2015-07-31 9:31 ` EGarrulo
2015-07-31 11:01 ` Dmitry A. Kazakov
2015-07-31 13:50 ` EGarrulo
2015-07-31 16:29 ` Dmitry A. Kazakov
2015-07-31 11:26 ` Brian Drummond
2015-07-31 12:12 ` EGarrulo
2015-07-31 12:15 ` EGarrulo
2015-07-31 17:54 ` Jeffrey R. Carter
2015-07-31 18:20 ` EGarrulo
2015-07-31 18:51 ` Jeffrey R. Carter
2015-08-01 7:20 ` Simon Wright
2015-08-01 8:06 ` EGarrulo [this message]
2015-08-01 8:33 ` Simon Wright
2015-08-01 10:47 ` EGarrulo
2015-08-01 11:27 ` Simon Wright
2015-08-01 11:44 ` Niklas Holsti
2015-08-01 12:19 ` EGarrulo
2015-08-01 17:49 ` Jeffrey R. Carter
2015-08-01 18:15 ` Paul Rubin
2015-08-01 18:59 ` Jeffrey R. Carter
2015-08-01 20:30 ` Georg Bauhaus
2015-08-01 20:44 ` EGarrulo
2015-08-01 22:44 ` Jeffrey R. Carter
2015-08-01 23:39 ` EGarrulo
2015-08-02 0:02 ` Jeffrey R. Carter
2015-08-02 0:18 ` EGarrulo
2015-08-02 0:30 ` EGarrulo
2015-08-02 6:05 ` Jeffrey R. Carter
2015-08-02 8:29 ` EGarrulo
2015-08-02 19:21 ` Jeffrey R. Carter
2015-08-02 21:37 ` EGarrulo
2015-08-03 2:35 ` Jeffrey R. Carter
2015-08-02 2:53 ` Paul Rubin
2015-08-02 6:07 ` Jeffrey R. Carter
2015-08-02 8:36 ` EGarrulo
2015-08-01 16:53 ` Jeffrey R. Carter
2015-08-01 17:00 ` Jeffrey R. Carter
2015-08-01 7:48 ` Dmitry A. Kazakov
2015-07-30 8:23 ` Georg Bauhaus
2015-07-30 8:45 ` EGarrulo
2015-07-30 9:19 ` Dmitry A. Kazakov
2015-07-30 11:22 ` Niklas Holsti
2015-07-30 13:00 ` EGarrulo
2015-07-30 13:30 ` Dmitry A. Kazakov
2015-07-30 13:51 ` EGarrulo
2015-07-30 14:13 ` Dmitry A. Kazakov
2015-07-30 14:46 ` Simon Wright
2015-07-30 14:31 ` G.B.
2015-07-30 18:46 ` Randy Brukardt
2015-07-30 9:18 ` EGarrulo
2015-07-30 18:55 ` Randy Brukardt
2015-07-30 19:32 ` EGarrulo
2015-07-31 0:10 ` Randy Brukardt
2015-07-30 11:35 ` Brian Drummond
2015-07-30 13:30 ` EGarrulo
2015-07-31 11:07 ` Brian Drummond
2015-07-30 8:28 ` Pascal Obry
2015-07-30 12:00 ` EGarrulo
2015-07-30 10:01 ` Björn Lundin
2015-07-30 10:59 ` Pascal Obry
2015-07-30 11:21 ` gautier_niouzes
2015-07-30 18:35 ` Randy Brukardt
2015-07-31 15:21 ` Stefan.Lucks
2015-07-31 17:28 ` Pascal Obry
2015-08-01 11:38 ` Björn Lundin
2015-08-01 20:07 ` Stefan.Lucks
2015-08-03 23:26 ` Randy Brukardt
2015-07-30 6:08 ` Dmitry A. Kazakov
2015-07-30 6:37 ` Georg Bauhaus
2015-07-30 8:27 ` Pascal Obry
2015-07-30 9:22 ` Dmitry A. Kazakov
2015-07-30 11:51 ` EGarrulo
2015-07-30 12:23 ` Dmitry A. Kazakov
2015-07-30 13:55 ` Niklas Holsti
2015-08-30 7:03 ` David Thompson
2015-07-30 14:07 ` EGarrulo
2015-07-30 18:12 ` Jeffrey R. Carter
2015-07-30 18:51 ` EGarrulo
2015-07-30 19:27 ` Jeffrey R. Carter
2015-07-30 19:54 ` EGarrulo
2015-07-30 22:53 ` Jeffrey R. Carter
2015-07-30 23:58 ` Randy Brukardt
2015-07-30 11:54 ` EGarrulo
2015-07-30 12:42 ` Pascal Obry
2015-07-30 13:21 ` EGarrulo
2015-07-30 13:38 ` Dmitry A. Kazakov
2015-07-30 13:55 ` EGarrulo
2015-07-30 15:23 ` Niklas Holsti
2015-07-30 19:32 ` Randy Brukardt
2015-07-30 20:10 ` EGarrulo
2015-07-31 0:23 ` Randy Brukardt
2015-07-31 6:29 ` Dmitry A. Kazakov
2015-08-02 10:08 ` EGarrulo
2015-08-02 12:15 ` EGarrulo
2015-07-29 23:45 ` EGarrulo
2015-07-30 0:25 ` Jeffrey R. Carter
2015-07-30 8:12 ` EGarrulo
2015-07-30 18:01 ` Jeffrey R. Carter
2015-07-29 6:46 ` Simon Wright
2015-07-29 7:17 ` Dmitry A. Kazakov
2015-07-29 19:57 ` Randy Brukardt
2015-07-29 20:09 ` Jeffrey R. Carter
2015-07-30 18:16 ` Randy Brukardt
2015-07-29 20:38 ` Simon Wright
2015-07-30 7:50 ` Jacob Sparre Andersen
2015-07-30 14:48 ` G.B.
2015-07-30 15:58 ` Simon Wright
2015-07-30 15:13 ` EGarrulo
2015-07-30 15:21 ` EGarrulo
2015-07-30 15:29 ` G.B.
2015-07-30 16:02 ` Simon Wright
2015-07-30 16:15 ` Simon Wright
2015-07-30 16:29 ` EGarrulo
2015-07-30 17:31 ` Simon Wright
2015-07-28 10:28 ` Brian Drummond
2015-07-28 11:39 ` EGarrulo
2015-07-29 10:02 ` Brian Drummond
2015-07-29 10:29 ` Brian Drummond
2015-07-29 12:00 ` EGarrulo
2015-07-29 19:23 ` gautier_niouzes
2015-07-28 11:43 ` Björn Lundin
2015-07-28 11:51 ` Dmitry A. Kazakov
2015-07-28 12:06 ` EGarrulo
2015-07-28 12:54 ` Dmitry A. Kazakov
2015-07-28 13:18 ` EGarrulo
2015-07-28 13:49 ` EGarrulo
2015-07-28 14:02 ` Bob Duff
2015-07-28 14:57 ` G.B.
2015-07-28 15:36 ` Dmitry A. Kazakov
2015-07-29 7:15 ` Stefan.Lucks
2015-07-29 7:52 ` EGarrulo
2015-07-29 17:30 ` Stefan.Lucks
2015-07-29 18:49 ` Jeffrey R. Carter
2015-07-29 20:40 ` Randy Brukardt
2015-07-30 7:40 ` gautier_niouzes
2015-07-30 19:22 ` Randy Brukardt
2015-07-28 13:06 ` G.B.
2015-07-28 13:19 ` EGarrulo
2015-07-28 20:55 ` Randy Brukardt
2015-07-28 22:31 ` EGarrulo
2015-07-29 20:09 ` Randy Brukardt
2015-07-29 22:40 ` EGarrulo
2015-07-28 12:07 ` Björn Lundin
2015-07-31 19:44 ` Per Sandberg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox