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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.99.180.10 with SMTP id s10mr426536pgf.49.1503105898844; Fri, 18 Aug 2017 18:24:58 -0700 (PDT) X-Received: by 10.36.123.21 with SMTP id q21mr156256itc.2.1503105898775; Fri, 18 Aug 2017 18:24:58 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!paganini.bofh.team!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!m81no810855itb.0!news-out.google.com!1ni1690itx.0!nntp.google.com!m81no810851itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 18 Aug 2017 18:24:58 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=76.113.92.25; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 76.113.92.25 References: <79e06550-67d7-45b3-88f8-b7b3980ecb20@googlegroups.com> <9d4bc8aa-cc44-4c30-8385-af0d29d49b36@googlegroups.com> <1395655516.524005222.638450.laguest-archeia.com@nntp.aioe.org> <4527d955-a6fe-4782-beea-e59c3bb69f21@googlegroups.com> <22c5d2f4-6b96-4474-936c-024fdbed6ac7@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Community Input for the Maintenance and Revision of the Ada Programming Language From: Shark8 Injection-Date: Sat, 19 Aug 2017 01:24:58 +0000 Content-Type: text/plain; charset="UTF-8" Xref: news.eternal-september.org comp.lang.ada:47746 Date: 2017-08-18T18:24:58-07:00 List-Id: On Friday, August 18, 2017 at 2:33:30 PM UTC-6, Robert Eachus wrote: > > > > On the otherhand Ada.Directories and Ada.Text_IO are woefully outdated. > > > > My mistake String supports more than just ASCII (Duh), but Asian and other esoteric languages obvious not. > > There are three decisions about character sets made every time you create Ada source files. It is nice to have them all the same, but people used to that get their minds wrapped around the axle when it is not true. The three cases are: > > 1) The character set used to write the Ada parts of the program. > 2) The character sets the executing computer will use when interpreting characters and string values. > 3) The character sets used by the programmer to express character and string constants. This is true -- but there's a conspicuous disconnect here, regarding Ada.Directories. The problem is the idea that strings/names and the object are equivalent, as evidenced by ARM A.16.1 5/2, 6/2, 7/2, etc. 5/2 function Current_Directory return String; 6/2 procedure Set_Directory (Directory : in String); 7/2 procedure Create_Directory (New_Directory : in String; Form : in String := ""); 8/2 procedure Delete_Directory (Directory : in String); Function "Current_Directory" should *NOT* return a string, but a directory-type (tagged or not is irrelevant), not a string, likewise "Set_Directory" and "Delete_Directory" should take said directory-objects instead of strings. In short: A directory is *NOT* a string, but a object in its own right. Moreover, thinking of directories in terms of strings leads to string manipulation for referring and it is *easy* to make errors there.