comp.lang.ada
 help / color / mirror / Atom feed
From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: State of the compiler market
Date: Fri, 30 Jun 2017 09:34:37 +0200
Date: 2017-06-30T09:34:37+02:00	[thread overview]
Message-ID: <oj4unh$9nt$1@dont-email.me> (raw)
In-Reply-To: <oj4u0s$18cu$1@gioia.aioe.org>

Le 30/06/2017 à 09:18, Dmitry A. Kazakov a écrit :
> Encoding must be a part of the string type. This is essential for
> dealing with OS/API bindings. E.g. an UTF-8 string must provide a view
> of an array of octets (for OS/API calls) and a view of an array of code
> points (for the application). The second view must constitute a class.
> We don't need explicit conversions between string types.
>
This is your opinion. I don't see why it must constitute a class. I tend
to use the simplest structure available for my need, hence avoid tagged
types unless they are the most appropriate structure.

Moreover, encodings are useful only at the boundary between the
application and the external world, internal processing should use the
internal form, i.e. characters (characters are the abstract notion to
which a code point is associated). Therefore, conversions at the
boundary seem quite appropriate

> 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.
Then you should be happy. There is absolutely no magic about String in
Ada (as opposed to most other languages), and string types ARE simply
defined in a package (namely Standard). They are known to the compiler
only for attributes that return a string type.

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr

  reply	other threads:[~2017-06-30  7:34 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-23  0:26 State of the compiler market john
2017-02-23  3:17 ` Luke A. Guest
2017-02-23  5:16 ` Per Sandberg
2017-02-23  6:01 ` gautier_niouzes
2017-02-23  9:01   ` joakimds
2017-02-23 18:03 ` Jeffrey R. Carter
2017-02-24  9:23   ` Per Sandberg
2017-02-24  9:32     ` Paul Rubin
2017-02-23 21:22 ` Randy Brukardt
2017-02-24 16:36 ` john
2017-02-25 10:48 ` Ingo M.
2017-02-25 11:07   ` Jeffrey R. Carter
2017-02-25 14:25     ` Ingo M.
2017-02-25 17:30       ` Jeffrey R. Carter
2017-02-25 11:29   ` Dmitry A. Kazakov
2017-02-25 13:46     ` G.B.
2017-02-25 14:46     ` Ingo M.
2017-02-25 15:21       ` Dmitry A. Kazakov
2017-02-25 15:49         ` Ingo M.
2017-02-25 16:11           ` Dmitry A. Kazakov
2017-02-25 19:03       ` G.B.
2017-02-26  0:11         ` Luke A. Guest
2017-02-26  8:44           ` Dmitry A. Kazakov
2017-02-26  0:20 ` Luke A. Guest
2017-02-26  2:26   ` Randy Brukardt
2017-02-26  9:14     ` Paul Rubin
2017-02-26 17:35       ` antispam
2017-02-26 22:32         ` Paul Rubin
2017-02-27  2:38           ` antispam
2017-02-27  2:54             ` Paul Rubin
2017-02-27  3:54               ` antispam
2017-02-28 20:51       ` Randy Brukardt
2017-02-28 21:29         ` Luke A. Guest
2017-03-01  8:43           ` reinkor
2017-03-01 14:20             ` Adacore and licensing (again), was: " Simon Clubley
2017-03-01 17:02               ` reinert
2017-03-01 18:34                 ` Simon Clubley
2017-03-05 19:38                   ` Robert Eachus
2017-03-05 23:17                     ` Luke A. Guest
2017-03-06  1:12                       ` Dennis Lee Bieber
2017-03-06  2:56                       ` Robert Eachus
2017-03-07 20:47                     ` Simon Clubley
2017-03-08  0:23                       ` Lucretia
2017-03-08 10:26                         ` Simon Wright
2017-03-01 14:28             ` volkert
2017-03-01 15:01               ` J-P. Rosen
2017-03-01 16:05               ` G.B.
2017-03-06 23:15               ` john
2017-03-07 16:42                 ` Dennis Lee Bieber
2017-06-27  8:29             ` Jacob Sparre Andersen
2017-06-28 10:40               ` Lucretia
2017-06-28 11:44                 ` Dmitry A. Kazakov
2017-06-28 13:54                   ` Luke A. Guest
2017-06-28 14:16                     ` Dmitry A. Kazakov
2017-06-29  1:26                 ` Shark8
2017-06-29  5:46                   ` gautier_niouzes
2017-06-29 11:36                     ` Lucretia
2017-06-29 12:23                       ` gautier_niouzes
2017-06-29 12:50                         ` Dmitry A. Kazakov
2017-06-29 14:47                         ` Lucretia
2017-06-29 17:23                           ` G.B.
2017-06-29 18:27                             ` Jacob Sparre Andersen
2017-06-29 19:04                               ` Lucretia
2017-06-29 19:01                             ` Lucretia
2017-06-30  5:27                               ` J-P. Rosen
2017-06-30  7:18                                 ` Dmitry A. Kazakov
2017-06-30  7:34                                   ` J-P. Rosen [this message]
2017-06-30  8:10                                     ` Dmitry A. Kazakov
2017-06-30 10:10                                       ` J-P. Rosen
2017-06-30 10:53                                         ` Dmitry A. Kazakov
2017-06-30  7:51                                   ` Jacob Sparre Andersen
2017-06-30  8:20                                     ` Dmitry A. Kazakov
2017-06-30 11:11                                 ` Lucretia
2017-06-30 11:23                                   ` Lucretia
2017-06-29 12:57                       ` Petter Fryklund
2017-06-30 13:57                       ` Alejandro R. Mosteo
2017-06-30 14:19                         ` Lucretia
2017-07-01  8:06                           ` darkestkhan
2017-07-01  9:17                             ` Dmitry A. Kazakov
2017-02-26 10:14     ` Dirk Craeynest
2017-02-27  9:56       ` Ivan Levashev
2017-06-27  8:00 ` Jacob Sparre Andersen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox