Groups | Search | Server Info | Login | Register


Groups > comp.lang.ada > #49800

Re: Custom Storage Pool questions

From "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Newsgroups comp.lang.ada
Subject Re: Custom Storage Pool questions
Date 2021-10-16 11:00 +0200
Organization Aioe.org NNTP Server
Message-ID <ske4ak$l4c$1@gioia.aioe.org> (permalink)
References (22 earlier) <sk80n7$t0f$1@franka.jacob-sparre.dk> <sk8mbv$15ca$1@gioia.aioe.org> <skaier$6ka$1@franka.jacob-sparre.dk> <skbdb5$u50$1@gioia.aioe.org> <skd08t$33p$1@franka.jacob-sparre.dk>

Show all headers | View raw


On 2021-10-16 00:44, Randy Brukardt wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
> news:skbdb5$u50$1@gioia.aioe.org...
>> On 2021-10-15 02:36, Randy Brukardt wrote:
>>> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 

> In the case you describe, you'd have a binding that abstracts the
> two underlying libraries, and you'd unit test that. Assuming it
> passes with both implementations, it shouldn't matter which is used
> in a particular program.

You need to test switching between implementations. In the case of 
static linking that part is not even code and thus non-testable. You 
must test each concrete assembly of components each time and each 
assembly with have alternating code. Why do you think people keep on 
asking for Ada preprocessor in c.l.a?

>> Yes, but it is not economically viable anymore. Nobody would pay 
>> for that.
> 
> Has software gotten so 
> bad that no one cares about that?

Yes, and worse.

> I certainly would never do that to
>  our customers (and I hate support anyway, I want to reduce it as
> much as possible).

Compilers are not ware anymore. We live in a post-market era with 
neo-feudal economic relationships.

> There's no plug-ins in a statically linked system. What would be the
> point? I'm assuming that we're talking about Ada interfaced
> libraries here (C is a different kettle of fish), so you're talking
> about switching implementations of a single Ada spec. We've done that
> going back to the beginning of Ada time; it's managed by decent build
> tools and has gotten pretty simple in most Ada compilers. So what
> would a plug-in buy?

Yes, that is about build tools to develop and maintain, because 
dependencies handling and adjusting the code invoking optional 
components is specific to the problem domain. Such stuff does exist, 
e.g. this is how VxWorks or Yokto Linux images are configured. No way 
regular software could go this way.

>>> I don't see any way that such loading could work with Ada 
>>> semantics; there is an assumption that all of your ancestors 
>>> exist before you can do anything. The elaboration checks were 
>>> intended to check that.
>> 
>> We have a core libraries which are import libraries for the 
>> plug-in. When a plug-in is loaded, the core libraries are 
>> elaborated unless already loaded, the plug-in library itself is not
>> elaborated, because automatic elaboration would deadlock under 
>> Windows. Then a dedicated entry point is called in the plug-in 
>> library. The first thing it does is a call to the plug-in 
>> elaboration code. GNAT generates an <library-name>init entry for 
>> that. After this the plug-in registers itself providing a tagged 
>> object, which primitive operations are basically the library's true
>> interface.
>> 
>> I know it sounds horrific, but it works pretty well.
> 
> It does sound horrific, and it doesn't seem to buy much.

We started with a monolithic solution and were forced to redesign it 
when it became unmaintainable. Apart from the the fact that it bluntly 
refused to fit in 256K RAM of a target platform ...

> A tag is a property of a type in Ada, and it includes the dispatch 
> table.

No, it is just one possible implementation. It has a disadvantage that 
you must search a global map tag->vptr and you must keep the whole table 
per each tagged type. I suppose one could exchange the map tag->ptr with 
ptr->tag. Then dispatching will be cheaper and X'Tag more expensive. In 
any case you must adjust either map when elaborating the library.

> You can't unload a library until all of the things that depend upon 
> it have been unloaded, so from the perspective of a compiler, it acts
> like library-level. The whole mess about loading/unloading is on the
> user (which is what I meant about "unsafe" yesterday), and if you get
> it wrong, your program is erroneous and can do any manner of things.
> It's no more worth it for a compiler to worry about bad unloading
> than it is to worry about dangling pointers.

Still arguing for collections, huh? (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

Back to comp.lang.ada | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-12 17:53 -0700
  Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-13 00:29 -0500
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 18:04 -0700
      Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:06 -0500
    Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-18 12:32 +0100
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-19 17:31 -0700
      Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 09:34 +0300
        Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-19 23:48 -0700
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
          Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-20 09:59 -0700
          Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:50 -0500
            Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 16:08 -0700
              Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:42 -0500
                Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-10-02 16:19 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:52 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:26 -0500
  Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-13 13:12 +0200
    Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-13 17:48 -0700
      Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:08 +0200
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:39 -0700
          Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 08:01 +0100
            Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:32 -0700
              Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:51 -0500
                Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-21 15:40 -0700
      Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 08:23 +0200
        Re: Custom Storage Pool questions "J-P. Rosen" <rosen@adalog.fr> - 2021-09-14 08:42 +0200
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-14 09:00 +0200
          Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:58 -0500
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:21 -0700
          Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 08:54 +0200
        Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 18:48 -0500
      Re: Custom Storage Pool questions Egil H H <ehh.public@gmail.com> - 2021-09-14 03:54 -0700
        Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-14 17:11 -0700
  Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 17:43 +0100
    Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 18:03 +0100
    Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-15 21:07 +0200
      Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-15 21:40 +0100
        Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-16 00:12 -0700
          Re: Custom Storage Pool questions Jere <jhb.chat@gmail.com> - 2021-09-16 16:21 -0700
            Re: Custom Storage Pool questions Emmanuel Briot <briot.emmanuel@gmail.com> - 2021-09-17 00:08 -0700
            Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 08:18 +0100
            Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 15:56 +0200
              Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-17 20:46 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-17 22:39 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 00:17 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 09:49 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 12:03 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 12:22 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-18 18:59 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-18 18:19 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-19 13:36 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-19 13:41 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 10:05 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 09:35 +0200
                Re: Custom Storage Pool questions Niklas Holsti <niklas.holsti@tidorum.invalid> - 2021-09-20 11:08 +0300
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-20 10:28 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:45 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:40 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:30 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:37 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:28 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:38 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 09:00 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:26 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-21 08:51 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-27 23:31 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 08:56 +0200
                Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-09-28 08:52 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-28 10:07 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-28 17:04 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 09:57 +0200
                Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-09-29 07:41 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-29 17:16 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-29 19:16 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-30 10:08 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-30 19:04 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-01 10:25 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 04:06 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-02 12:18 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-02 23:33 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-03 10:40 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-13 20:21 -0500
                Re: Custom Storage Pool questions "philip...@gmail.com" <philip.munts@gmail.com> - 2021-10-13 20:12 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-14 09:31 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-14 19:36 -0500
                Re: Custom Storage Pool questions Stephen Leake <stephen_leake@stephe-leake.org> - 2021-10-15 01:08 -0700
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:18 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:22 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 10:15 +0200
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:44 -0500
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 11:00 +0200
                Re: Custom Storage Pool questions Simon Wright <simon@pushface.org> - 2021-10-16 15:32 +0100
                Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 17:06 +0200
                Re: Custom Storage Pool questions Shark8 <onewingedshark@gmail.com> - 2021-10-18 07:23 -0700
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:19 -0500
                Re: Custom Storage Pool questions "Randy Brukardt" <randy@rrsoftware.com> - 2021-09-20 19:18 -0500
        Re: Custom Storage Pool questions "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-09-16 10:41 +0200

csiph-web