From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Latest suggestion for 202x
Date: Mon, 17 Jun 2019 18:43:28 +0200
Date: 2019-06-17T18:43:28+02:00 [thread overview]
Message-ID: <qe8fve$1ghf$1@gioia.aioe.org> (raw)
In-Reply-To: 87tvcons68.fsf@nightsong.com
On 2019-06-17 17:32, Paul Rubin wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>> No, record is not a mapping. A mapping (properly typed) is
>> f : I -> V
>> where I and V are *types*. You cannot define record members this
>> way. Member names are not 1st class values, member values have
>> different types.
>
> Each member name is in effect a mapping. I don't remember the record
> member syntax but something like:
>
> type person is record:
> name : string;
> age : integer
> end record
>
> Then basically "name" is a mapping from person to string, and "age" is a
> mapping from person to integer, and there's some syntax sugar to deal
> with member notation (xyz.name) and assignment (xyz.name := "John").
If Name were an entity in Ada then we could have syntax:
Name(P)
i.e.
Name : Person -> String
This would be a mapping. But it is not what Maciej asked, he wanted, I
suppose, this:
P(Name)
P : ? -> ?
instead of P.Name. This is not a mapping of 1st class objects.
He could argue that Ada should follow C++ and use different syntax for
different names:
a::b
a->b
a.b
To "improve" readability. Why names of an entry, child package, member,
formal argument of a subprogram etc have all same form A.B. No fun!
Unicode has 2**24 or so characters free...
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2019-06-17 16:43 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-15 23:59 Latest suggestion for 202x Micah Waddoups
2019-06-16 5:14 ` Jerry
2019-06-16 7:17 ` Dmitry A. Kazakov
2019-06-16 10:22 ` Egil H H
2019-06-16 16:54 ` Maciej Sobczak
2019-06-16 20:09 ` Dmitry A. Kazakov
2019-06-17 6:54 ` Egil H H
2019-06-17 7:42 ` J-P. Rosen
2019-06-17 12:01 ` Mart van de Wege
2019-06-17 13:35 ` Maciej Sobczak
2019-06-17 15:20 ` Dmitry A. Kazakov
2019-06-17 15:32 ` Paul Rubin
2019-06-17 16:43 ` Dmitry A. Kazakov [this message]
2019-06-17 21:38 ` Keith Thompson
2019-06-18 15:48 ` Jeffrey R. Carter
2019-06-20 22:21 ` Randy Brukardt
2019-06-21 9:42 ` Dmitry A. Kazakov
2019-06-21 18:12 ` Keith Thompson
2019-06-21 18:43 ` Dmitry A. Kazakov
2019-06-21 20:24 ` Keith Thompson
2019-06-22 6:54 ` Dmitry A. Kazakov
2019-06-22 8:43 ` Randy Brukardt
2019-06-22 9:00 ` Dmitry A. Kazakov
2019-06-22 17:44 ` Keith Thompson
2019-06-22 18:34 ` Bill Findlay
2019-06-22 18:37 ` Dmitry A. Kazakov
2019-06-23 7:38 ` G.B.
2019-06-23 8:29 ` Dmitry A. Kazakov
2019-06-23 18:34 ` Optikos
2019-06-23 19:20 ` Dennis Lee Bieber
2019-06-22 20:48 ` Optikos
2019-06-22 20:53 ` Optikos
2019-06-23 17:42 ` Dennis Lee Bieber
2019-06-24 5:07 ` J-P. Rosen
2019-06-24 5:40 ` Paul Rubin
2019-06-24 7:16 ` Niklas Holsti
2019-06-26 18:00 ` Stephen Leake
2019-06-24 13:07 ` J-P. Rosen
2019-06-24 11:12 ` Stefan.Lucks
2019-06-24 12:06 ` Niklas Holsti
2019-06-24 20:22 ` Randy Brukardt
2019-06-24 20:32 ` Keith Thompson
2019-06-24 20:47 ` Jeffrey R. Carter
2019-06-24 13:10 ` J-P. Rosen
2019-06-22 8:36 ` Randy Brukardt
2019-06-22 17:39 ` Keith Thompson
2019-06-16 19:34 ` Optikos
2019-06-16 20:10 ` John Perry
2019-06-16 20:57 ` Optikos
2019-06-16 21:36 ` Dmitry A. Kazakov
2019-06-17 16:48 ` G. B.
2019-06-17 17:12 ` Paul Rubin
2019-06-16 21:41 ` Lucretia
2019-06-19 2:36 ` Micah Waddoups
2019-06-19 11:14 ` Lucretia
2019-06-19 11:45 ` briot.emmanuel
2019-06-19 14:34 ` Optikos
2019-06-19 19:29 ` Lucretia
2019-06-19 16:12 ` G. B.
2019-06-23 20:17 ` Per Sandberg
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox