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 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.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: Text_IO, was: Re: Something I don't understand Date: Sun, 16 Feb 2014 10:43:57 +0100 Organization: cbb software GmbH Message-ID: References: <4a3e55f6-9f54-4084-9f37-96efd4b0d349@googlegroups.com> <0b358700-871b-4603-addd-65e07c7d59e5@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: dRN93LcgZmpMwxQ2TpSF2g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:18604 Date: 2014-02-16T10:43:57+01:00 List-Id: On Sun, 16 Feb 2014 09:08:20 +0000 (UTC), Simon Clubley wrote: > In a modified Ada, do you still see a role for Text_IO as it stands > (with additional I/O package(s) implementing your desired changes) or do > you think Text_IO should be outright replaced ? Text_IO should be replaced because the design of Character/String was wrong. It is wrong to have Character, Wide_Character, Wide_Wide_Character. It is wrong not to separate encoding from characters. The punishment for that is a combinatorial explosion of variants as observed in Text_IO. Other stuff hated by many is the page formatting Text_IO does. This is basically the same problem as above, of not using the language type system properly. When it was finally noted, stream I/O (Text_Stream) was introduced. It was a bit strange that Text_Stream sat on top of Text_IO. Most OSes where this would reflect the reality are gone (e.g. VMS). In Unix it is rather formatting that sits on streams. Anyway again, that should be reflected by type relationships rather than by a patchwork of calls returning access(!) types. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de