Re: Parser bug: if missing ", " in list between records, the first is ignored, and no parser warnings are given.
Roland Karlsson <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.bugs |
|---|---|
| Message-ID | <[email protected]> |
I do not agree. Not the slightest.
The use {}{} is quite meaningless. What should it mean?
Some kind of double tuple? What is that? It would be like writing
two atoms or two integers after each other. Double atoms?
Double integers? Nothing like that in the Erlang syntax.
The usage #foo{}#foo{} on the other hand is totally meaningful,
even if maybe ugly. The first creates a record and the second
modifies it. Nothing strange at all. It is like
TMP=#foo{}, TMP#foo{}.
perfectly legit Erlang code.
/Roland
On Sun, 16 Nov 2014 19:37:19 +0100
Kostis Sagonas <[email protected]> wrote:
> On 11/16/2014 07:15 PM, PAILLEAU Eric wrote:
> >
> > 1> #test{a=2}#test{a=3}.
> > #test{a = 3,b = 6}
> >
> > but
> >
> > 2> {test, 2,6}{test, 3, 6}.
> > * 1: syntax error before: '{'
> >
> > ---8<------------------------------------------------------------------
> > 10.8 Internal Representation of Records
> >
> > Record expressions are translated to tuple expressions during
> > compilation. A record defined as
> >
> > -record(Name, {Field1,...,FieldN}).
> >
> > is internally represented by the tuple
> >
> > {Name,Value1,...,ValueN}
> >
> > where each ValueI is the default value for FieldI.
> > ---8<------------------------------------------------------------------
> >
> > I don't have any opinion on whether this syntax should be allowed or
> > not, but parser should not fail on second notation in such case.
>
> FWIW, I am of the same opinion here. Currently, there is some inconsistency that should not be there.
>
> Kostis
>
>
> _______________________________________________
> erlang-bugs mailing list
> [email protected]
> http://erlang.org/mailman/listinfo/erlang-bugs
--
Roland Karlsson <[email protected]>
_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs