From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Wed, 09 May 2018 13:03:48 -0700 Organization: A noiseless patient Spider Message-ID: <87lgcszjdn.fsf@nightsong.com> References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <87k1su7nag.fsf@nightsong.com> <87po2la2qt.fsf@nightsong.com> <87in8buttb.fsf@jacob-sparre.dk> <87wowqpowu.fsf@nightsong.com> <16406268-83df-4564-8855-9bd0fe9caac0@googlegroups.com> <87o9i2pkcr.fsf@nightsong.com> <87in88m43h.fsf@nightsong.com> <87efiuope8.fsf@nightsong.com> <322f9b26-01de-4753-bb50-6ef2f3d993d8@googlegroups.com> <87a7th9pd1.fsf@nightsong.com> <87h8no1nli.fsf@nightsong.com> <874ljo1hvy.fsf@nightsong.com> <87vac4z2lh.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="a15f8e13c869a4517dec92123a650d01"; logging-data="23688"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18+vT0QxtcOIU2A9bmqh1un" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) Cancel-Lock: sha1:Bdbx1lX1+1lifBxlykiR1wexKAc= sha1:oFPl/RnBc+ujLwOfaLZ6EMJc66M= Xref: reader02.eternal-september.org comp.lang.ada:52168 Date: 2018-05-09T13:03:48-07:00 List-Id: "Randy Brukardt" writes: > A DAG or worse yet, an unstructured graph with circularities, is precisely > the kind of thing I was thinking of when I was talking about "spaghetti > data". I still don't understand this angst about circularities. Edges in a graph are like streets in a city, that let you navigate from one place to another. I don't think the city I live in is "spaghetti" just because the street topology is such that it's possible to drive around in circles. Traffic would be a big mess if we ripped out streets until that became impossible. > Nope. You are confusing the references needed to construct a data structure > with the much weaker ones needed to navigate it. Just because there is a > mechanism to find the parent doesn't make the structure circular. It's true that you can implement the parent link with weak references and there are advantages to doing that, but also complications. > When one builds their own data structures from scratch, one has to worry > about (accidentally or on purpose) making circularities, Or to misquote Dr. Strangelove, one can stop worrying and learn to love the GC :). > [corporate jargon generator] If someone more ambitious than me wanted > to make the GUI and other changes necessary to make the things > changable on the fly, they could do so without altering the rest of > the program. I spent a little while looking into that and it doesn't seem easy. There are a few dozen phrase lists that could be made configurable, but there are also a bunch of different combining rules but if you want those to be configurable too, you end up designing a DSL to make such templates. That's very easy in Lisp but not so easy in Ada.