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: State of the compiler market Date: Fri, 30 Jun 2017 10:20:29 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <1813789782.509760763.093426.laguest-archeia.com@nntp.aioe.org> <87varxjouh.fsf@nightsong.com> <250466748.510009784.561340.laguest-archeia.com@nntp.aioe.org> <87fuelzvcq.fsf@jacob-sparre.dk> <4e60ac97-7f4f-47e7-847a-e27983accd4b@googlegroups.com> <57c26106-4e4f-464f-83e9-fe52de614cd7@googlegroups.com> <6529c392-f042-4dfe-8cdb-b785406ad788@googlegroups.com> <8643cc5f-7b09-479f-825d-8060aad7d628@googlegroups.com> <87vandyktn.fsf@jacob-sparre.dk> 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.2.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Language: en-US Xref: news.eternal-september.org comp.lang.ada:47214 Date: 2017-06-30T10:20:29+02:00 List-Id: On 30/06/2017 09:51, Jacob Sparre Andersen wrote: > Dmitry A. Kazakov wrote: > >> But the point is that the language should not have string types at >> all. The type system should be capable to define things as described >> above at the library level. > > And that is also how it is in Ada. No it is not. > The only "hack" in Ada related to strings is that "abc" is a shortcut > for ('a', 'b', 'c'). Lack of user-defined literals is only one problem. There is no class of strings with UTF-8 and UCS-4 strings as members of. Thus you cannot write a Put_Line working for all strings. In general there is no code reuse unless you messing up with generics. You need an instance for each string type and for each combination of two, three, four string types. And there is no array view of code points. E.g. with UTF-8 you are forced to work at the representation level of octets. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de