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!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Community Input for the Maintenance and Revision of the Ada Programming Language Date: Tue, 22 Aug 2017 09:34:54 +0200 Organization: Aioe.org NNTP Server Message-ID: 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> <3f04ecdc-2672-4051-948f-37ce5446dbac@googlegroups.com> <0950da12-a618-441a-95bb-9ad4c08ce6d9@googlegroups.com> NNTP-Posting-Host: vZYCW951TbFitc4GdEwQJg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:47785 Date: 2017-08-22T09:34:54+02:00 List-Id: On 22/08/2017 08:02, Robert Eachus wrote: > On Saturday, August 19, 2017 at 1:09:07 PM UTC-4, Dmitry A. Kazakov wrote: > >> In order to have this mess typed, and you correctly said that it must >> be, you will need *separate* types for: >> >> - Node / device >> - Absolute directory >> - Relative directory >> - Simple name >> - MIME type (extension) >> - File version / change number (e.g. for VMS or source control systems) >> - File name (simple name, MIME type, version number) >> - Directory name (node, directory) >> - File path (node, directory, name, MIME type, version number) >> >> If Open were defined on file path, then a partial name would not match, >> unless converted implicitly, e.g. by adding directory name. > > That way lies madness. Why is that madness? > What you want is a tagged type URL. Typed with all types necessary. E.g. we need an operations to iterate directory nodes etc. > The base type could have conversions to/from string, with child types > like local_path, etc., I don't directly see how the above types should be rooted in the same parent. File version has nothing to do with MIME type. > Is there any reason why Ada 2020 Text_IO should not > have a Open that takes a URL as an argument? There is no reason why. There is also no reason why it should not take file name and other partial types. That was the point about overloading vs. subtyping [non-Ada ones]. Another point was about factoring out encodings. If you can produce file name type from any kind of Ada string, then single Directories and single Text I/O package is sufficient. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de