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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,d5b211b0c1ffcf3e X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.228.227 with SMTP id sl3mr433351pbc.5.1340302226768; Thu, 21 Jun 2012 11:10:26 -0700 (PDT) MIME-Version: 1.0 Path: l9ni4041pbj.0!nntp.google.com!news2.google.com!goblin1!goblin2!goblin.stu.neva.ru!newsfeed.x-privat.org!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Practicalities of Ada for app development Date: Thu, 21 Jun 2012 13:10:23 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <89e137c8-45b1-48a3-8d15-3a15d8796af0@googlegroups.com> <1ij4sij23rw7l.g2ym8z451mt4.dlg@40tude.net> <25b7d199-634c-44d6-b9db-4bd20d4c9d19@googlegroups.com> <1mm52az2aghu6$.12xokh559i5a6.dlg@40tude.net> <1pj6gkxpren4r.tn2hv6r1fdh5.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1340302225 30095 69.95.181.76 (21 Jun 2012 18:10:25 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 21 Jun 2012 18:10:25 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-RFC2646: Format=Flowed; Original Date: 2012-06-21T13:10:23-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:m0g3o1rrco75$.699fudiit3dt$.dlg@40tude.net... ... > The example was given: UTF-8 string. It shall implement the interface of > an > array of Wide_Wide_Character (code points), the interface of an array of > octets (encoding layer). Further interfaces are at your choice. It's not hard to define a Root_String'Class in Ada 2012 that would provide all of the interfaces you would expect other than slicing and string literals. One can easily imagine extending existing capabilities to provide those. The problem is that if we did that, we'd have to make new versions of every existing interface in the Standard (to use Root_String'Class rather than String). And that would cause compatibility problems with string literals because it wouldn't be clear which type is involved. (We can't get rid of the existing types, and we can't make String into a tagged type as that would be representation-incompatible, so it cannot be derived from Root_String'Class.) That would be a problem for *any* implementation based on interfaces. I'm going to continue to pursue it (because the existing direction for internationalization is just one kludge on top of another), but there is no guarentee of success. Randy.