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!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Operating System differences and Ada OS independent programming Date: Wed, 23 Mar 2016 09:38:44 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <56eff4a4$0$4238$e4fe514c@news.kpn.nl> NNTP-Posting-Host: LMk7+sG0YqgPmReI4fVkAA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:29852 Date: 2016-03-23T09:38:44+01:00 List-Id: On 2016-03-23 09:13, gautier_niouzes@hotmail.com wrote: > On Tuesday, March 22, 2016 at 12:15:17 PM UTC+1, G.B. wrote: > >> Would this be real: >> >> 1. Take a zipped archive, produced by a real ZIP program, >> of an Ada program's file system hierarchy on System A. >> >> 2. unzip in the same manner on System B. >> >> 3. Expect Ada's (not yet real) file system related types >> to handle the files thus transported. > > Dmitry: > >> 4. Pack it again and make sure that the new archive is exactly same. > > No problem with all that, as long as you don't use drive letters. Of course it is a problem, but irrelevant to the issue. There are lots of different things varying across file systems which make symmetry impossible. The most evident ones are the letter case. Less evident are short vs. long Windows names, the file version number under VMS, and of course all sorts of short-cuts, mappings, virtual devices etc. Ada's abstraction should reflect the most generic file system properties: - Acyclic directed graph of names built from Unicode code points; - Multiple roots (AKA devices); - Absolute vs. relative path distinction; - Current directory path generator; - Generators for special directory paths (home, my downloads, my documents etc); - Extension / MIME types; - Version / change / release number; - Time stamps (modification, creation etc). Note, not the least common denominator which is virtually nothing. For anything impossible under the given OS Use_Error is propagated. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de