comp.lang.ada
 help / color / mirror / Atom feed
* Container Library recommendations?
@ 2008-05-28 19:39 Dimonax
  2008-05-29 13:55 ` Dmitry A. Kazakov
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Dimonax @ 2008-05-28 19:39 UTC (permalink / raw)


I've recently begun my foray into Concurrent Programming using Ada, 
Lucid, and Erlang. Considering playing with Occam also.

What Ada libraries, that are in common use, would you recommend are best 
suited to Concurrent programming? I intend to keep the "core" of my 
applications well seperated from any dependencies on the host platform. 
Nonetheless I'm aware of the fact that different libraries are better 
suited to different platforms when concurrency is involved.

I'm also investigating ways to attach "command" tools to my Ada apps. 
i.e. Like a scripting language, an SQL console, a Prolog or Lisp console, 
etc... How have you guys done this in the past?

Any advice would be greatly appreciated.

Dimonax



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

* Re: Container Library recommendations?
  2008-05-28 19:39 Container Library recommendations? Dimonax
@ 2008-05-29 13:55 ` Dmitry A. Kazakov
  2008-05-29 16:56 ` Matthew Heaney
  2008-05-29 20:05 ` Jeffrey R. Carter
  2 siblings, 0 replies; 7+ messages in thread
From: Dmitry A. Kazakov @ 2008-05-29 13:55 UTC (permalink / raw)


On Wed, 28 May 2008 19:39:51 GMT, Dimonax wrote:

> What Ada libraries, that are in common use, would you recommend are best 
> suited to Concurrent programming? I intend to keep the "core" of my 
> applications well seperated from any dependencies on the host platform. 
> Nonetheless I'm aware of the fact that different libraries are better 
> suited to different platforms when concurrency is involved.

I maintain an Ada component library (fully platform-independent) which
provides some lock-free containers as well as some blocking synchronization
primitives like mutexes and events. It also provides plain containers.

> I'm also investigating ways to attach "command" tools to my Ada apps. 
> i.e. Like a scripting language, an SQL console, a Prolog or Lisp console, 
> etc... How have you guys done this in the past?

The library also provides string processing and parsing tools, which can be
used for building interpreters. As an example of use an Ada 95 parser is
provided.

   http://www.dmitry-kazakov.de/ada/components.htm

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



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

* Re: Container Library recommendations?
  2008-05-28 19:39 Container Library recommendations? Dimonax
  2008-05-29 13:55 ` Dmitry A. Kazakov
@ 2008-05-29 16:56 ` Matthew Heaney
  2008-05-29 19:27   ` Freejack
  2008-05-29 20:05 ` Jeffrey R. Carter
  2 siblings, 1 reply; 7+ messages in thread
From: Matthew Heaney @ 2008-05-29 16:56 UTC (permalink / raw)


On May 28, 3:39 pm, Dimonax <dimo...@nospam.net> wrote:
>
> What Ada libraries, that are in common use, would you recommend are best
> suited to Concurrent programming? I intend to keep the "core" of my
> applications well seperated from any dependencies on the host platform.
> Nonetheless I'm aware of the fact that different libraries are better
> suited to different platforms when concurrency is involved.

Ada is a building-block language.  Its language features operate
orthogonally, so you can mix and match as you see fit.

The easiest thing is to use the (sequential) container library already
included in the language, and then use whatever other building blocks
(e.g. protected objects) you need to satisfy your concurrency needs.

If you describe your specific need, we can probably show you what to
do.



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

* Re: Container Library recommendations?
  2008-05-29 16:56 ` Matthew Heaney
@ 2008-05-29 19:27   ` Freejack
  2008-05-30 20:13     ` Matthew Heaney
  0 siblings, 1 reply; 7+ messages in thread
From: Freejack @ 2008-05-29 19:27 UTC (permalink / raw)


Matthew Heaney wrote:
> On May 28, 3:39 pm, Dimonax <dimo...@nospam.net> wrote:
>> What Ada libraries, that are in common use, would you recommend are best
>> suited to Concurrent programming? I intend to keep the "core" of my
>> applications well seperated from any dependencies on the host platform.
>> Nonetheless I'm aware of the fact that different libraries are better
>> suited to different platforms when concurrency is involved.
> 
> Ada is a building-block language.  Its language features operate
> orthogonally, so you can mix and match as you see fit.
> 
> The easiest thing is to use the (sequential) container library already
> included in the language, and then use whatever other building blocks
> (e.g. protected objects) you need to satisfy your concurrency needs.
> 
> If you describe your specific need, we can probably show you what to
> do.

Right now I'm building a library for an Internet Protocol I'm designing 
called "Ferret". Think of it like a new and modernised Gopher. It uses 
DAP services instead of the Filesystem Hierarchy used by Gopher. I'm 
using it to tie together multiple network data sources (Web, Ftp, 
etc...) into a single coherent whole, that can be queried and searched 
using your preferred command language (Rexx, Perl, Lisp, SQL, Prolog, 
etc...)

This is a pretty hefty task, but once the core libraries are in place, 
the rest should be trivial.

I plan to use PolyOrb as an optional middleware between nodes on the 
local Ferret network.

Eventually I'll bring in some sort of document markup tool. Probably 
based on RuleML. The only catch is that Ferret documents are prohibited 
from containing any Presentation information. Period.

The preliminary research work has already been done with the old Gopher 
service.
The World Wide Web is bloated and top heavy.
And quite frankly, I'm sick of sifting through websites and google 
rankings. At least I can catalog the information across my local network 
in a more sane fashion. And theres plenty of information to manage here.

Dont worry, I'll let you know when my grand plan hits the ground in a 
glorious fireball. Heh.



Freejack



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

* Re: Container Library recommendations?
  2008-05-28 19:39 Container Library recommendations? Dimonax
  2008-05-29 13:55 ` Dmitry A. Kazakov
  2008-05-29 16:56 ` Matthew Heaney
@ 2008-05-29 20:05 ` Jeffrey R. Carter
  2008-05-30  9:44   ` Alex R. Mosteo
  2 siblings, 1 reply; 7+ messages in thread
From: Jeffrey R. Carter @ 2008-05-29 20:05 UTC (permalink / raw)


Dimonax wrote:
> 
> What Ada libraries, that are in common use, would you recommend are best 
> suited to Concurrent programming? I intend to keep the "core" of my 
> applications well seperated from any dependencies on the host platform. 
> Nonetheless I'm aware of the fact that different libraries are better 
> suited to different platforms when concurrency is involved.

The PragmAda Reusable Components contain a number of protected data structures 
and other concurrency-related components such as task decouplers and safe 
semaphores.

http://pragmada.home.mchsi.com/

Note that the PragmARCs are Ada 95 and use private types in ways that are 
prohibited by the current standard.

-- 
Jeff Carter
"Unix and C are the ultimate computer viruses."
Richard Gabriel
99



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

* Re: Container Library recommendations?
  2008-05-29 20:05 ` Jeffrey R. Carter
@ 2008-05-30  9:44   ` Alex R. Mosteo
  0 siblings, 0 replies; 7+ messages in thread
From: Alex R. Mosteo @ 2008-05-30  9:44 UTC (permalink / raw)


Jeffrey R. Carter wrote:

> Dimonax wrote:
>> 
>> What Ada libraries, that are in common use, would you recommend are best
>> suited to Concurrent programming? I intend to keep the "core" of my
>> applications well seperated from any dependencies on the host platform.
>> Nonetheless I'm aware of the fact that different libraries are better
>> suited to different platforms when concurrency is involved.
> 
> The PragmAda Reusable Components contain a number of protected data
> structures and other concurrency-related components such as task decouplers
> and safe semaphores.
> 
> http://pragmada.home.mchsi.com/
> 
> Note that the PragmARCs are Ada 95 and use private types in ways that are
> prohibited by the current standard.

I'm curious about these now-prohibited ways. If you have the time to give some
example it would be great.

Thanks!




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

* Re: Container Library recommendations?
  2008-05-29 19:27   ` Freejack
@ 2008-05-30 20:13     ` Matthew Heaney
  0 siblings, 0 replies; 7+ messages in thread
From: Matthew Heaney @ 2008-05-30 20:13 UTC (permalink / raw)


On May 29, 3:27 pm, Freejack <dimo...@nospam.net> wrote:
>
> This is a pretty hefty task, but once the core libraries are in place,
> the rest should be trivial.

Right, but I was looking for more low-level information, e.g. how to
build a task-safe lookup table, etc.



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

end of thread, other threads:[~2008-05-30 20:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-28 19:39 Container Library recommendations? Dimonax
2008-05-29 13:55 ` Dmitry A. Kazakov
2008-05-29 16:56 ` Matthew Heaney
2008-05-29 19:27   ` Freejack
2008-05-30 20:13     ` Matthew Heaney
2008-05-29 20:05 ` Jeffrey R. Carter
2008-05-30  9:44   ` Alex R. Mosteo

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