comp.lang.ada
 help / color / mirror / Atom feed
* Grace 0.51 released
@ 2003-10-27 16:56 Stephen Leake
  2003-10-27 17:07 ` Stephane Richard
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Stephen Leake @ 2003-10-27 16:56 UTC (permalink / raw)


I've made a new release of Grace, _the_ community Ada library :).
Config_Files has been improved. See
http://savannah.nongnu.org/projects/grace/.


In the context of the long-lasting "yet another Ada library" thread,
remember all the discussion a couple years ago about Grace? How many
people have contributed? Two. 

If we do get a community library going, let's at least use the name
Grace (for Grace Hopper), and not CAL or whatever.

-- 
-- Stephe



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

* Re: Grace 0.51 released
  2003-10-27 16:56 Grace 0.51 released Stephen Leake
@ 2003-10-27 17:07 ` Stephane Richard
  2003-10-27 17:18   ` Ed Falis
  2003-10-28  0:17 ` Nick Roberts
  2003-10-30 21:20 ` Russ
  2 siblings, 1 reply; 12+ messages in thread
From: Stephane Richard @ 2003-10-27 17:07 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1032 bytes --]

*laughing pathetically* would you believe I didn't know you were the author
of Grace until this post?  Haven't paid attention on the website as to who
it belonged to and from your post I didn't get that it was yours.  *kicks
himself in the (_|_) a couple times more* ;-).

I haven't looked at the code however either.  I'm sure then I would have
recognized you and your high code quality :-).

-- 
St�phane Richard
"Ada World" Webmaster
http://www.adaworld.com


"Stephen Leake" <Stephe.Leake@nasa.gov> wrote in message
news:u4qxuei06.fsf@nasa.gov...
> I've made a new release of Grace, _the_ community Ada library :).
> Config_Files has been improved. See
> http://savannah.nongnu.org/projects/grace/.
>
>
> In the context of the long-lasting "yet another Ada library" thread,
> remember all the discussion a couple years ago about Grace? How many
> people have contributed? Two.
>
> If we do get a community library going, let's at least use the name
> Grace (for Grace Hopper), and not CAL or whatever.
>
> -- 
> -- Stephe





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

* Re: Grace 0.51 released
  2003-10-27 17:07 ` Stephane Richard
@ 2003-10-27 17:18   ` Ed Falis
  2003-10-27 17:19     ` Stephane Richard
  2003-10-28  0:55     ` Robert I. Eachus
  0 siblings, 2 replies; 12+ messages in thread
From: Ed Falis @ 2003-10-27 17:18 UTC (permalink / raw)


Nah, wasn't Ed Berard the author of the GRACE components?

;-)

- Ed



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

* Re: Grace 0.51 released
  2003-10-27 17:18   ` Ed Falis
@ 2003-10-27 17:19     ` Stephane Richard
  2003-10-27 17:42       ` Ed Falis
  2003-10-28  0:55     ` Robert I. Eachus
  1 sibling, 1 reply; 12+ messages in thread
From: Stephane Richard @ 2003-10-27 17:19 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 287 bytes --]

I dont know...now I'm confused...oh well...

-- 
St�phane Richard
"Ada World" Webmaster
http://www.adaworld.com


"Ed Falis" <falis@verizon.net> wrote in message
news:oprxpozddt8wdn3j@news.verizon.net...
> Nah, wasn't Ed Berard the author of the GRACE components?
>
> ;-)
>
> - Ed





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

* Re: Grace 0.51 released
  2003-10-27 17:19     ` Stephane Richard
@ 2003-10-27 17:42       ` Ed Falis
  0 siblings, 0 replies; 12+ messages in thread
From: Ed Falis @ 2003-10-27 17:42 UTC (permalink / raw)


On Mon, 27 Oct 2003 17:19:50 GMT, Stephane Richard 
<stephane.richard@verizon.net> wrote:

> I dont know...now I'm confused...oh well...
>

No reason not to be - it's an overloaded name.  And the worse so, because 
the first GRACE components were also an Ada product.

- Ed



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

* Re: Grace 0.51 released
  2003-10-27 16:56 Grace 0.51 released Stephen Leake
  2003-10-27 17:07 ` Stephane Richard
@ 2003-10-28  0:17 ` Nick Roberts
  2003-10-28  2:10   ` Marin David Condic
  2003-10-29 21:16   ` Simon Wright
  2003-10-30 21:20 ` Russ
  2 siblings, 2 replies; 12+ messages in thread
From: Nick Roberts @ 2003-10-28  0:17 UTC (permalink / raw)


Stephen Leake wrote:

> I've made a new release of Grace, _the_ community Ada library :).
> Config_Files has been improved. See
> http://savannah.nongnu.org/projects/grace/.
> 
> In the context of the long-lasting "yet another Ada library" thread,
> remember all the discussion a couple years ago about Grace? How many
> people have contributed? Two. 

Only one person has contributed to Tenet so far (me ;-)

> If we do get a community library going, let's at least use the name
> Grace (for Grace Hopper), and not CAL or whatever.

Or alternatively, let's call it 'Charles', or maybe 'ASCL', or 'Booch', or 
'PragmARC', or 'GAPSE', or 'AdaSL', or 'SAL', or 'Tenet', or ...

In fact, my guess is that it's going to be called 'Ada'. I believe the ARG 
are interested in introducing a basic set of containers into the next 
revision, although it might be in a an optional annex, and they might well 
simply decide not to (probably because of lack of time). If you're 
interested, please look at AI-302:

http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-10302.TXT

This proposal is huge, but it is currently undergoing revision to 
significantly reduce it. I think the proposal, submitted by Matthew Heaney 
and based on Charles, is basically very good.

The reason why I've not given up on Tenet yet is that, to my knowledge, 
no-one else is going to produce implementations of a list and a map that 
support clustering (dynamic storage in a linked list or tree of smallish 
arrays of the element type). If someone is able to correct me about this, 
I'd be very grateful. (For a start, I am not very familiar with the Booch 
collection.) Clustering affects the specification in a small but 
significant way: you need to be able to specify the clustering factor (the 
number of elements per array). As far as I'm concerned, clustering is going 
to be vital to the efficiency of my future projects.

The ARG follows the principle that 'the market should decide' about a 
particular technology before it is incorporated into the Ada standard. But 
it doesn't follow this principle (or any other principle) slavishly. I feel 
it is one possible reason why the ARG might reject any container proposal 
for the next revision, and to be honest I think that if they do they might 
be right. They will have to judge whether the benefits outweigh the risks.

Links to some of the the projects I mentioned are:

http://home.earthlink.net/~matthewjheaney/charles/

http://www.adapower.net/booch/

http://home.earthlink.net/~jrcarter010/pragmarc.htm

http://adasl.sourceforge.net/

http://homepage.ntlworld.com/ramatthews/ [for GAPSE]

http://ascl.sourceforge.net/

http://tenet.berlios.de

I hope it won't seem out of place for me to say here that I write this with 
nothing but benign intent, and a lot of respect, toward the various people 
who have worked hard on their own container projects.

-- 
Nick Roberts




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

* Re: Grace 0.51 released
  2003-10-27 17:18   ` Ed Falis
  2003-10-27 17:19     ` Stephane Richard
@ 2003-10-28  0:55     ` Robert I. Eachus
  1 sibling, 0 replies; 12+ messages in thread
From: Robert I. Eachus @ 2003-10-28  0:55 UTC (permalink / raw)


Ed Falis wrote:
> Nah, wasn't Ed Berard the author of the GRACE components?

Definitely the original author.

-- 
                                        Robert I. Eachus

"Quality is the Buddha. Quality is scientific reality. Quality is the 
goal of Art. It remains to work these concepts into a practical, 
down-to-earth context, and for this there is nothing more practical or 
down-to-earth than what I have been talking about all along...the repair 
of an old motorcycle."  -- from Zen and the Art of Motorcycle 
Maintenance by Robert Pirsig




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

* Re: Grace 0.51 released
  2003-10-28  0:17 ` Nick Roberts
@ 2003-10-28  2:10   ` Marin David Condic
  2003-10-29 21:16   ` Simon Wright
  1 sibling, 0 replies; 12+ messages in thread
From: Marin David Condic @ 2003-10-28  2:10 UTC (permalink / raw)


Nick Roberts wrote:
> Stephen Leake wrote:
>> In the context of the long-lasting "yet another Ada library" thread,
>> remember all the discussion a couple years ago about Grace? How many
>> people have contributed? Two. 
> 
> 
> Or alternatively, let's call it 'Charles', or maybe 'ASCL', or 'Booch', 
> or 'PragmARC', or 'GAPSE', or 'AdaSL', or 'SAL', or 'Tenet', or ...
> 

And therein ought to lie a clue as to how successful all this can be in 
getting a Conventional Ada Library going. Grace and others were well 
meaning efforts that depended on volunteers with no real sanction by 
anybody in the Ada compiler business and no funding of any sort. They 
basically languished or were not adopted in any wholesale manner. It 
isn't to criticize the efforts - just to realize that we are *not* going 
to get some kind of conventional library going by volunteering for 
another effort at remaking things that have not succeeded in becoming a 
standard already. Its been *TRIED* numerous times before. If its going 
to work, it needs a different model.

If everyone wanted to get on board with Grace (or Charles, or ASCL or 
Booch or PragmARC, or....) I'd be with them. What is going to get one of 
these accepted as the basis on which to build a bigger "Conventional Ada 
Library"??? I just don't see it happening without even one vendor on 
board. Nor do I see it succeeding long term without some kind of money 
invested.

Lets quit kidding ourselves that we'll all invest thousands of hours in 
building a library without any compensation for the good of Ada and 
expect that all the Ada users will suddenly hop on board and start using 
what we've so generously given them. It hasn't worked. It isn't going to 
work. Let's find a different way to do it.


MDC
-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "So if I understand 'The Matrix Reloaded' correctly, the Matrix is
     basically a Microsoft operating system - it runs for a while and
     then crashes and reboots. By design, no less. Neo is just a
     memory leak that's too hard to fix, so they left him in... The
     users don't complain because they're packed in slush and kept
     sedated"

         --  Marin D. Condic
======================================================================




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

* Re: Grace 0.51 released
  2003-10-28  0:17 ` Nick Roberts
  2003-10-28  2:10   ` Marin David Condic
@ 2003-10-29 21:16   ` Simon Wright
  2003-10-30 22:17     ` Nick Roberts
  1 sibling, 1 reply; 12+ messages in thread
From: Simon Wright @ 2003-10-29 21:16 UTC (permalink / raw)


Nick Roberts <nick.roberts@acm.org> writes:

> The reason why I've not given up on Tenet yet is that, to my
> knowledge, no-one else is going to produce implementations of a list
> and a map that support clustering (dynamic storage in a linked list
> or tree of smallish arrays of the element type). If someone is able
> to correct me about this, I'd be very grateful. (For a start, I am
> not very familiar with the Booch collection.) Clustering affects the
> specification in a small but significant way: you need to be able to
> specify the clustering factor (the number of elements per array). As
> far as I'm concerned, clustering is going to be vital to the
> efficiency of my future projects.

I would be fairly amazed if anyone produced such an implementation in
a general library without needing it themselves (certainly I won't for
the BCs, partly at least because I feel I don't understand the concept
totally!)

I guess what you have in mind is some performance requirement; state
that, maybe Charles or the BCs or whatever will do what you want,
maybe not ..

-- 
Simon Wright                               100% Ada, no bugs.



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

* Re: Grace 0.51 released
  2003-10-27 16:56 Grace 0.51 released Stephen Leake
  2003-10-27 17:07 ` Stephane Richard
  2003-10-28  0:17 ` Nick Roberts
@ 2003-10-30 21:20 ` Russ
  2 siblings, 0 replies; 12+ messages in thread
From: Russ @ 2003-10-30 21:20 UTC (permalink / raw)


Stephen Leake <Stephe.Leake@nasa.gov> wrote in message news:<u4qxuei06.fsf@nasa.gov>...
> I've made a new release of Grace, _the_ community Ada library :).
> Config_Files has been improved. See
> http://savannah.nongnu.org/projects/grace/.
> 
> 
> In the context of the long-lasting "yet another Ada library" thread,
> remember all the discussion a couple years ago about Grace? How many
> people have contributed? Two. 
> 
> If we do get a community library going, let's at least use the name
> Grace (for Grace Hopper), and not CAL or whatever.

FYI, the name GRACE is also used for a free, open-source plotting tool
that I use almost daily. See http://plasma-gate.weizmann.ac.il/Grace

From the website:

"Grace is a WYSIWYG 2D plotting tool for the X Window System and
M*tif. Grace runs on practically any version of Unix-like OS. As well,
it has been successfully ported to VMS, OS/2, and Win9*/NT/2000/XP
(some minor functionality may be missing, though)."



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

* Re: Grace 0.51 released
  2003-10-29 21:16   ` Simon Wright
@ 2003-10-30 22:17     ` Nick Roberts
  2003-10-31  7:04       ` Simon Wright
  0 siblings, 1 reply; 12+ messages in thread
From: Nick Roberts @ 2003-10-30 22:17 UTC (permalink / raw)


Simon Wright wrote:

>> [Tenet implementation will use clustering]

> I would be fairly amazed if anyone produced such an implementation in
> a general library without needing it themselves (certainly I won't for
> the BCs, partly at least because I feel I don't understand the concept
> totally!)
> 
> I guess what you have in mind is some performance requirement; state
> that, maybe Charles or the BCs or whatever will do what you want,
> maybe not ..

Clustering is applicable to unbounded lists and unbounded maps (which I 
call 'lookups'). As with other implementations, I intend to implement these 
(in Tenet) by a (doubly) linked list and a linked tree respectively. 
However, rather than having just one data element per node, as with usually 
implementations, I will have a small array -- of fixed length -- for each 
node, so that several data elements can be stored in each node (in the 
array). This array is called a 'cluster array', and the nodes are called 
'clusters'.

The basic idea is that by varying the length of the cluster array, it is 
possible to adjust the trade off between higher memory efficiency (longer 
arrays) and speed of operations (shorter arrays). At one extreme, the array 
might have length 1; obviously this is the same as the usual 
implementation. At the other extreme, one might have a very big array length.

For linked lists, each cluster (node) will be able to store the number of 
data elements actually stored in its cluster array (from 1 to N, where N is 
the cluster array length). In this way, arbitrary insertion and deletion of 
elements can be achieved by the appropriate combination of inserting or 
deleting clusters (nodes), and inserting or deleting data elements within 
cluster arrays (by moving items and/or adjusting the dynamic length).

For lookups (maps), data elements are stored within cluster arrays sorted 
by key. Insertion requires finding the correct position in the array (by 
binary-chop search), and copying up the remainder. If the array is full, a 
new cluster (node) has to be created. Deletion works the reverse way. The 
tree is kept balanced using a standard AVL or RB algorithm.

I do indeed wish to use clustering for a particular application (which will 
be called TDL, but that's another story). However, I feel that it is a very 
general-purpose technique, suitable for most applications, and that it 
should enable applications to achieve the right balance between memory and 
speed efficiency.

Are there any existing container implementations which provide clustering?

-- 
Nick Roberts




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

* Re: Grace 0.51 released
  2003-10-30 22:17     ` Nick Roberts
@ 2003-10-31  7:04       ` Simon Wright
  0 siblings, 0 replies; 12+ messages in thread
From: Simon Wright @ 2003-10-31  7:04 UTC (permalink / raw)


Nick Roberts <nick.roberts@acm.org> writes:

> Are there any existing container implementations which provide
> clustering?

Actually, now you describe the idea, I suppose the BC's Dynamic forms
are close to what you describe -- I haven't attended to them very much
on the grounds that an appropriate storage pool would do the job. It
might for the BCs but it wouldn't do all the extra things you mention!

-- 
Simon Wright                               100% Ada, no bugs.



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

end of thread, other threads:[~2003-10-31  7:04 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-27 16:56 Grace 0.51 released Stephen Leake
2003-10-27 17:07 ` Stephane Richard
2003-10-27 17:18   ` Ed Falis
2003-10-27 17:19     ` Stephane Richard
2003-10-27 17:42       ` Ed Falis
2003-10-28  0:55     ` Robert I. Eachus
2003-10-28  0:17 ` Nick Roberts
2003-10-28  2:10   ` Marin David Condic
2003-10-29 21:16   ` Simon Wright
2003-10-30 22:17     ` Nick Roberts
2003-10-31  7:04       ` Simon Wright
2003-10-30 21:20 ` Russ

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