> You can see I ditched the list for a simple array! I already had more > punishment than I cared for! ;-) I sort of don't mind going to this > much trouble for the advantages that Ada can give me over, say, Lisp > (which is what I'm translating from) in terms of execution speed, low > level control, native concurrency, etc. etc., but it *is* a fair bit > to replace five lines of unremarkable Lisp! :-) I was thinking that > the elaborateness of all this must provide a powerful disincentive for > Ada programmers to use collections/containers. Of course, if you > really need a collection, then you'll need to go to the trouble to > have one; but I'm thinking that there must be a whole lot of in > between cases where, although you can just get by with, say, arrays, > records, classes, even home-grown linked lists, and so on, it really > would be better to use the appropriate data structure and > algorithms. Anyway, that's just me daydreaming. Perhaps someone might > have something actually sensible to say about these thoughts. I'm never sure if my opinions are sensible or not, but... All languages have strengths, or they would dissappear through disuse. The strengths of different languages must be different or we'd have just one language. Therefor all languages must also have (comparative) weaknesses. One strength of Lisp is how easy it is to use dynamic data structures. But it has weaknesses in weak typing and slow execution. Setting up the Charles library seems to me about equal in lines of code and what you have to know to setting up STLs in C++. The first few times is quite confusing and frustrating, but it gets easier as you do it more often. It is still easier than creating your own from scratch. JAF