Sujet : Re: Ichbiah 2022 compiler mode
De : randy (at) *nospam* rrsoftware.com (Randy Brukardt)
Groupes : comp.lang.adaDate : 21. Dec 2024, 09:19:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vk5tlv$3uq1o$1@dont-email.me>
References : 1 2 3
User-Agent : Microsoft Outlook Express 6.00.2900.5931
"Lioneldraghi" <
lionel.draghi@free.fr> wrote in message
news:vk53gs$3lfp0$2@dont-email.me...Le 06/09/2024 � 02:03, Randy Brukardt a �crit :
>
(10) Variable-returning functions are introduced. They're pretty similar
the
semantics of anonymous access returns (or the aliased function returns
suggested by Tucker). This means that a variable can easily be treated as
a
function (and indeed, a variable declaration is just syntactic sugar for
such a function).
>
I suppose that to allows the compiler to discriminate this non sense code
Square (2) := 3;
>
from the legitimate
List.Index (3) := Item;
>
you will have to introduce some specific syntax, like Tucker's "aliased
function".
>
I see the huge benefit from a user point of view, but I'm not aware of
compiler internals : doesn't the introduction of a second function type
increase complexity?
Yes, but Ada already has a bunch of different mechanisms for dealing with
objects/functions/exceptions/packages/types. My intent is to collapse those
all into one (somewhat more complex) mechanism. The basic idea is that
everything resolves a single way, meaning that everything can be overloaded,
and there no longer is a semantic difference between:
A : constant T := ...;
and
function A return T is (...);
Whether that really helps remains to be seen, of course. But the goal is to
reduce the number of disjoint mechanisms both in the language description
and in the implementation. The hope is then to be able to introduce
additional capabilities on top of a simpler and stronger foundation.
Randy.