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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!fx18.iad.POSTED!not-for-mail From: Shark8 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:36.0) Gecko/20100101 Thunderbird/36.0a1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: GNAT GPL is not shareware References: <87bnmetex4.fsf@ludovic-brenta.org> <4ae7f0d5-d681-4be9-95bc-b5e789b3ad40@googlegroups.com> <87tx06rve6.fsf@ludovic-brenta.org> <87lhlirpk0.fsf@ludovic-brenta.org> <79f3eff7-2b45-40ae-af94-fa9a17426d82@googlegroups.com> <87bnmd8mg2.fsf@ixod.org> <19cf9bc2-f8b9-4735-b427-7b070dda59da@googlegroups.com> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Message-ID: X-Complaints-To: abuse@teranews.com NNTP-Posting-Date: Tue, 06 Jan 2015 21:46:13 UTC Organization: TeraNews.com Date: Tue, 06 Jan 2015 14:46:11 -0700 X-Received-Bytes: 3884 X-Received-Body-CRC: 3647819747 Xref: news.eternal-september.org comp.lang.ada:24429 Date: 2015-01-06T14:46:11-07:00 List-Id: On 06-Jan-15 14:15, Björn Lundin wrote: > Consider the file system your db. But *this* is the problem -- a DB is more than just a storage unit, it can enforce consistency! > Things your coming IDE can catch by saving to DB, it could also catch > when save to file. And things the file-system *can't* catch could be caught by a db. Ex: Example.Parent.Child.adb is in your file-system (along with its ancestors), it exists in your project and is used therein. Now "del Example.Parent.ad?" removes the ancestor "parent", is your project still valid? No, because it still contains [and relies upon] "Example.Parent.Child" which has had its own dependencies removed. > How do you do for accomplish linking out-of-date objects ? > You seem really hung up on this, so I interpret it as it happens often. > Does it? I've only had it happen a couple times. That it can happen at all, when it is preventable, is the issue. >> Moreover, if stored in a database things like version-control can be >> made more useful by storing only the semantically meaningful changes. >> Things like "formatting style" become absolutely meaningless because, >> guess what, the textual-representation gets reconstructed and >> redisplayed as-needed... and that can be fully customizable to the >> particular user w/o impacting anyone else. > > And that would make you be the most impopular man, > if our company set the standard for that. > People get _really_ upset if you tamper with a 15-year old comment. > Or changeing case on variables. > Automatic re-writes is a nono. (a bit conservative. I know) *sigh* -- You completely miss the point. You're storing it [the program] not as text, but as a meaningful structure (think AST w/ extra info [like, say, static-analysis]). When you re-constitute the "program text" for editing the display-unit/editor can [easily] put it together in the "company set standard" (or the user's preferred standard)... IOW, the textual formatting simply doesn't matter anymore. To illustrate, consider the following: Type X is ( Apple, Orange, Grape ); For X'Size use 8; Is this semantically different from the following: Type X is (Apple,Orange,Grape) with Size => 8; If there is no semantic difference, then does it matter which text is displayed, other than personal preference? I don't see why it should; why do you?