From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.6 X-Received: by 2002:a05:622a:1006:: with SMTP id d6mr23024545qte.337.1634054445361; Tue, 12 Oct 2021 09:00:45 -0700 (PDT) X-Received: by 2002:a25:7e46:: with SMTP id z67mr27920618ybc.166.1634054445151; Tue, 12 Oct 2021 09:00:45 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 12 Oct 2021 09:00:44 -0700 (PDT) In-Reply-To: <61574676$0$6485$426a74cc@news.free.fr> Injection-Info: google-groups.googlegroups.com; posting-host=146.5.2.231; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 146.5.2.231 References: <3b6f0a2d-f3ba-45c8-9710-54d9edcf3fddn@googlegroups.com> <614502fd$0$1362$426a74cc@news.free.fr> <6155ac7f$0$6454$426a34cc@news.free.fr> <3563a845-85c0-4af1-a569-dab944511e93n@googlegroups.com> <61574676$0$6485$426a74cc@news.free.fr> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <7adba01b-43c3-4dc5-acfe-250cb062d7fbn@googlegroups.com> Subject: Re: ANN: Adare_net Ada network lib From: Shark8 Injection-Date: Tue, 12 Oct 2021 16:00:45 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:62981 List-Id: On Friday, October 1, 2021 at 11:33:45 AM UTC-6, DrPi wrote: > > My intent is to try Adare_Net. So I started by taking a look at the=20 > sources and the first thing I noticed was the Pure aspect of the=20 > packages. As I'm far from a Ada expert, and I like to understand things,= =20 > I asked here about it.=20 >=20 > Is there a documentation somewhere ? The simple explanation of Pure is that it means there is no internal-state = in the package; as a consequence, (1) a value-returning call with the same = parameters can be treated as idempotent and therefore can be replicated acr= oss calls; and (2) in the Distributed Systems Annex, we can replicate this = package across partitions w/o worrying about synchronization precisely beca= use there is no internal state. So, "ideologically" having a networking library marked "pure" is not _neces= sarily_ a wrong thing -- though treating such calls as idempotent certainly= would be -- and perhaps that is a point where some refinement could be mad= e; perhaps allowing subprograms to be marked aspect VOLATILE to indicate th= at they are not idempotent or some such. > > For your use, just fork and make bether (ah and remove all Ada Categori= zations :-)=20 The categorizations *are* useful, as shown above... though overloading them= with other properties, or rather having so coarse a granularity limits tha= t.