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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,6cb2525ffbfe23ce X-Google-Attributes: gid103376,public From: dewar@gnat.com Subject: Re: Why both "with" and "use"? Date: 1999/02/14 Message-ID: <7a6bbh$625$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 444228955 References: <36C5B28C.F32C43A4@jps.net> <7a529a$t54@drn.newsguy.com> X-Http-Proxy: 1.0 x15.dejanews.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Sun Feb 14 11:17:07 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-02-14T00:00:00+00:00 List-Id: In article <7a529a$t54@drn.newsguy.com>, bill wrote: > it would be nice to have a smart editor that is context > senstive, where if you point the mouse to a name and say > right-click, it will show properties of the thing pointed > to, such as it type, the package it came from, etc. You can get this functionality using GNAPSE (one of the development environments available for GNAT, based on EMACS Ada mode). Using this editor, you can go immediately from a reference to the declaration in the source (which presumably, together with its comments tells you the properties you are looking for). This functionality is based on the cross-reference information that is now placed by default into ali files. Note that this will only work with GNAT, since it depends on this information. > This way, one can have their cake and eat too. One can > use 'use', but still know from which packages things came > from by simple point/click. There is no course of doubt that the choice of whether to use the use clause is influenced by the presence of such tools. However, that's not the whole story. A lot depends on the names. If a package like Posix has a function called Error, then you probably want to say Posix.Error anyway, if the function is called Posix_Error, then it makes better sense to USE Posix, so naming choices are definitely a factor here. > > offcourse this editor must be free sourced and GPL'ed :) > so eveyone can use it. wonder if it possible to do such a > thing with xemacs... This is a bit confused. I would guess what you are interested in is that this tool be freely and publicly available. But the GPL is neither necessary nor sufficient to achieve this. Remember that the GPL never forces anyone to distribute anything at any time for any reason. It is about what you can do *if* you have the software and hold the license. The fact that there are public releases of GNAT (and indeed of the GNAPSE technology mentioned above) is a result of Ada Core Technology's policy of making free releases, not of the GPL per se. It would be legally possible for ACT to make the next release of GNAT much more proprietary (e.g. by abandoning the GPL on those parts that are copyright ACT), but of course we have no intention of doing this, and we are absolutely committed to periodic public releases of all our GNAT-related technology. I mention this because I am constantly running into people who think that the GPL forces you to distribute things. As an example (ACT is really not a good one, since we always distribute everything publicly anyway), consider a company that gets hold of GNAT, and then makes an extension for its own use. There is absolutely no obligation of any kind for that company to distribute this extension publicly. This is true even if the company distributes copies of this extension to a small number of companies it works with. In the latter case, neither the original author, nor the companies that have copies have any obligation whatsoever to distribute. This is an important point, because some other proposed "open source" licenses have suggested that some kind of distribution (e.g. at least distribution back to the original author) would be required. But such a distribution requirement goes against the idea of "freedom" in free software. The whole idea is that you can use the software in anyway you want, including modifying it for yourself and not distributing it. The only thing you can't do is to take away this freedom from others, so when you distribute the software, in either its original form, or modified, the recipient must have the same freedoms. It's sort of like a democracy in which the people can vote for anything except to take away the vote from succeeding generations. Anyway, this is all theoretical in this case, the GNAPSE capability that I mention above is indeed available with the publicly available 3.11p release of GNAT. Try it out! Robert Dewar Ada Core Technologies -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own