comp.lang.ada
 help / color / mirror / Atom feed
* ANN: Adare_net Ada network lib
@ 2021-09-05  3:54 Daniel Norte Moraes
  2021-09-17 21:04 ` DrPi
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Norte Moraes @ 2021-09-05  3:54 UTC (permalink / raw)


Hi All! :-)

Adare_net is a small, portable and easy to use Ada network lib.
It supports ipv4 ipv6 udp and tcp, and can 'listen' with ipv6, too.

The powerfull buffer feature can support all Ada types,
and with a more refined treatment, you can use endian proof records and
unconstrained arrays.

From now, tested and working:
AMD64 :
mswindows 7 sp1 64bits
and ubuntu Hirsute 64bits

Thanks and Enjoy!!

https://gitlab.com/daresoft/network/adare_net

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ANN: Adare_net Ada network lib
  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
  0 siblings, 1 reply; 5+ messages in thread
From: DrPi @ 2021-09-17 21:04 UTC (permalink / raw)


Hi,

Le 05/09/2021 à 05:54, Daniel Norte Moraes a écrit :
> Hi All! :-)
> 
> Adare_net is a small, portable and easy to use Ada network lib.
> It supports ipv4 ipv6 udp and tcp, and can 'listen' with ipv6, too.
> 
> The powerfull buffer feature can support all Ada types,
> and with a more refined treatment, you can use endian proof records and
> unconstrained arrays.
> 
>  From now, tested and working:
> AMD64 :
> mswindows 7 sp1 64bits
> and ubuntu Hirsute 64bits
> 
> Thanks and Enjoy!!
> 
> https://gitlab.com/daresoft/network/adare_net
> 

I had a quick look at the top level source code. I'm surprised all 
packages are declared with "pure" aspect.
 From what I understand of the "pure" aspect, these packages are not pure.
Am I wrong ?

Regards,
Nicolas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ANN: Adare_net Ada network lib
  2021-09-17 21:04 ` DrPi
@ 2021-09-22  8:47   ` Joakim Strandberg
  2021-09-22  9:16     ` AdaMagica
  0 siblings, 1 reply; 5+ messages in thread
From: Joakim Strandberg @ 2021-09-22  8:47 UTC (permalink / raw)


> I had a quick look at the top level source code. I'm surprised all 
> packages are declared with "pure" aspect. 
> From what I understand of the "pure" aspect, these packages are not pure. 
> Am I wrong ? 
> 
> Regards, 
> Nicolas

I agree with you Nicolas, they should not be declared Pure. It makes the GNAT compiler check for example that there are no global variables used in the packages but other than that, they (I didn't check all the packages) are not Pure. The pragma Pure worked as expected in Ada83 but the meaning and utility of it disappeared with the Ada95 standard. It is possible in Ada95 to declare a package as Pure and then import C-functions that can do anything. It is also possible in Ada95 to circumvent the meaning of pragma Pure or the Pure aspect by taking advantage of dynamic dispatch. If there is any use of a tagged type inside a package or there is some C-function that is imported, the package should not be labeled as Pure. It should be possible to develop a libadalang- or ASIS based application to check for this. Well, this is a small issue since it is easy to remove the Pure aspects. In any case, thanks to the author for writing adare_net and sharing it with the World!

Best regards,
Joakim

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ANN: Adare_net Ada network lib
  2021-09-22  8:47   ` Joakim Strandberg
@ 2021-09-22  9:16     ` AdaMagica
  2021-09-22 11:07       ` Joakim Strandberg
  0 siblings, 1 reply; 5+ messages in thread
From: AdaMagica @ 2021-09-22  9:16 UTC (permalink / raw)


> I agree with you Nicolas, they should not be declared Pure. It makes the GNAT compiler check for example that there are no global variables used in the packages but other than that, they (I didn't check all the packages) are not Pure. The pragma Pure worked as expected in Ada83 but the meaning and utility of it disappeared with the Ada95 standard.
There is no pragma Pure in Ada 83.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: ANN: Adare_net Ada network lib
  2021-09-22  9:16     ` AdaMagica
@ 2021-09-22 11:07       ` Joakim Strandberg
  0 siblings, 0 replies; 5+ messages in thread
From: Joakim Strandberg @ 2021-09-22 11:07 UTC (permalink / raw)


onsdag 22 september 2021 kl. 11:16:13 UTC+2 skrev AdaMagica:
> > I agree with you Nicolas, they should not be declared Pure. It makes the GNAT compiler check for example that there are no global variables used in the packages but other than that, they (I didn't check all the packages) are not Pure. The pragma Pure worked as expected in Ada83 but the meaning and utility of it disappeared with the Ada95 standard.
> There is no pragma Pure in Ada 83.

Thanks for clearing that up AdaMagica, I wasn't aware.

Best regards,
Joakim

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-09-22 11:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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

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