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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5bcc293dc5642650 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.14.169 with SMTP id q9mr8796368pbc.2.1319270047562; Sat, 22 Oct 2011 00:54:07 -0700 (PDT) Path: d5ni42585pbc.0!nntp.google.com!news1.google.com!news4.google.com!feeder.news-service.com!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Why no Ada.Wide_Directories? Date: Sat, 22 Oct 2011 09:54:07 +0200 Organization: cbb software GmbH Message-ID: <1ljblwrul8pmp$.1crge3eb0lhon.dlg@40tude.net> References: <9937871.172.1318575525468.JavaMail.geo-discussion-forums@prib32> <418b8140-fafb-442f-b91c-e22cc47f8adb@y22g2000pri.googlegroups.com> <7156122c-b63f-487e-ad1b-0edcc6694a7a@u10g2000prl.googlegroups.com> <409c81ab-bd54-493b-beb4-a0cca99ec306@p27g2000prp.googlegroups.com> <4d97ced2-1695-4352-926c-2070f9ccbbf1@o19g2000vbk.googlegroups.com> <1cchjqhfjqo2l$.1s951jo0p9w8c.dlg@40tude.net> <1xuiads70kb6s$.odhmr2fg9b0z.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: NkTZyZQzt+uRNthfI6+Hjg.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news1.google.com comp.lang.ada:18659 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Date: 2011-10-22T09:54:07+02:00 List-Id: On Fri, 21 Oct 2011 22:36:03 +0200, Yannick Duch�ne (Hibou57) wrote: > Le Fri, 21 Oct 2011 22:02:55 +0200, Dmitry A. Kazakov > a �crit: > A > subtype T1 of a type T0, is supposed to be a valid element where a type T0 > is expected. This is handled in Ada by contracting Constraint_Error in the interfaces. > Conclusion: the interface could not remain the same, and different > interface, means different type. Here you confirm that LSP does work. But Ada does not base its type system on LSP. There cannot be any usable LSP-conform type system. > Unsolvable (a common pitfall known of ancient Eiffel users). They should better understand LSP and its implications. > That's by the way one of the reason why assertions > introduced with Ada 2012, Something non-substitutable remains non-substitutable independently on whatever assertions. The solution is trivial and was known already in Ada 83: add exception propagation *to* the postcondition. >> This problem is a *fundamental* problem of the Ada type system. It must be >> addressed if the Ada wishes to stay a strongly typed language. > If address nicely enough (except with some area like String and some part > of access types) what it provide. Consistency in a narrow range is better > than a wide range with inconsistencies, and to most people, a narrow range > which can be reasonably implemented, is better than a perfect thing which > cannot be implemented. That was one of the error Bertrand Meyer did, when > he asserted language designers should not bother about whether of not a > given language property is certain to be implementable. In real life, > language designers have to care it is, and have to care it is reasonably. Sorry, I don't understand the above, it reads like C advocacy, but I am not sure. What is your point? Strong typing is not necessary because inefficient? >> How so? They are two most used public interfaces of composite types in >> Ada! > The language does not enforce it, this only occur in the standard library, > and you remain free to not follow this design and choose your own if you > wish. Just like the naming convention, I am not forced to use strings either. After all, there exist successful languages without strings and arrays, e.g. C... >> BTW the same applies to the numeric types, would you claim them used only >> privately too? > Arguable in theory, not in practice. If it ever is, just use a language > better suited for your very specific area. To summarize your point: for practical reasons, Ada better become C. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de