comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: ANN: Adare_net Ada network lib
Date: Tue, 12 Oct 2021 09:00:44 -0700 (PDT)	[thread overview]
Message-ID: <7adba01b-43c3-4dc5-acfe-250cb062d7fbn@googlegroups.com> (raw)
In-Reply-To: <61574676$0$6485$426a74cc@news.free.fr>

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 
> sources and the first thing I noticed was the Pure aspect of the 
> packages. As I'm far from a Ada expert, and I like to understand things, 
> I asked here about it. 
> 
> 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 across calls; and (2) in the Distributed Systems Annex, we can replicate this package across partitions w/o worrying about synchronization precisely because there is no internal state.

So, "ideologically" having a networking library marked "pure" is not _necessarily_ a wrong thing -- though treating such calls as idempotent certainly would be -- and perhaps that is a point where some refinement could be made; perhaps allowing subprograms to be marked aspect VOLATILE to indicate that they are not idempotent or some such.

> > For your use, just fork and make bether (ah and remove all Ada Categorizations :-) 
The categorizations *are* useful, as shown above... though overloading them with other properties, or rather having so coarse a granularity limits that.

  parent reply	other threads:[~2021-10-12 16:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-05  3:54 ANN: Adare_net Ada network lib Daniel Norte Moraes
2021-09-17 21:04 ` DrPi
2021-09-22  8:47   ` Joakim Strandberg
2021-09-22  9:16     ` AdaMagica
2021-09-22 11:07       ` Joakim Strandberg
2021-09-27  4:32         ` Daniel Norte Moraes
2021-09-30 12:24           ` DrPi
2021-09-30 20:10             ` Daniel Norte Moraes
2021-10-01 17:33               ` DrPi
2021-10-01 19:11                 ` Simon Wright
2021-10-12 16:00                 ` Shark8 [this message]
2021-12-30 21:15                 ` Daniel Norte Moraes
2021-10-12 15:49             ` Shark8
2021-10-12 19:44               ` Egil H H
2021-12-30 21:30                 ` Daniel Norte Moraes
2021-09-28  4:52       ` Randy Brukardt
2021-12-30 20:56         ` Daniel Norte Moraes
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox