[fpc-pascal] Re: a proposal about "with" syntax

Noah Silva shiruba at galapagossoftware.com
Tue Apr 2 10:24:02 CEST 2013


Hi,

Actually, this sort-of makes sense.  I find "as" or something similar to be
more aesthetically pleasing, but @ seems to make it clear that the
identifier is just an alias (pointer address), and not a real temporary
variable.

Of course I would be happy for any keyword or syntax that actually allows
this to be done.  Theoretically you could already use "absolute" instead,
but...

Thank you,
    Noah Silva

2013/3/20 Lukasz Sokol <el.es.cr at gmail.com>

> On 18/03/2013 03:11, Paul Ishenin wrote:
> > 18.03.13, 9:27, Xiangrong Fang пишет:
> >> I am sorry I didn't follow this thread although I am the "OP" :-).   If
> >> I understand correct, I would suggest NOT introduce the "absolute"
> >> keyword, instead, make it ALWAYS absolute. i.e.:
> >>
> >> with a = SomeObject, b = SomeRecord do begin
> >>    ... ...
> >> end;
> >>
> >> Both a and b are "reference" to the object or record, IMO there seems no
> >> need to do assignment in the with syntax. Thus, I suggest use = instead
> >> of :=
> >
> > '=' can't be used because it can be a part of expression. There is no
> big difference between
> > with (a = SomeObject) do
> > and
> > with a = SomeObject do
> >
> > After more thinking I see that ':=' as well as absolute keyword are also
> bad because they will complicate the parser (although it is possible to use
> them). Parser will need to read the first token and check if it is an
> identifier, read second token and compare with ':=' (or 'absolute') and if
> it is not ':=' (or 'absolute') return to expression parse.
> >
> > At the same time we will not complicate the parser if we place alias
> identifier after the with expression like:
> >
> > with expression1, expression2 => alias2, expression3, expression4 =>
> alias4 do
> >
> > begin
> >
> > end;
> >
> > Where '=>' is some token which can't be used in expressions.
> >
> For example '@' ?
>
> e.g.
> with alias1 at SomeLongObject, alias2 at SomeOtherLongObject, ... do
>
> rationale:
> it's sufficiently different, and as for its nominal usage, it does similar
> thing.
>
> ?
>
> > Best regards,
> > Paul Ishenin
> >
>
> Lukasz
>
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20130402/4712f3f1/attachment.html>


More information about the fpc-pascal mailing list