[erlang-bugs] Parser bug: if missing ", " in list between records, the first is ignored, and no parser warnings are given.

Roland Karlsson roland.karlsson@REDACTED
Sun Nov 16 21:54:27 CET 2014


Concatenating of two strings is an exception I assume.
I am not knowledgeable enough in Erlang syntax to explain why it works.
Need help of someone else.

/Roland



On Sun, 16 Nov 2014 20:52:47 +0100
Eric Pailleau <eric.pailleau@REDACTED> wrote:

> Two strings are concatanated.
> 
> "abc" "def".
> "abcdef"
> 
> even without ++.
> 
> If you look at my second mail,
> erl guess that {test, 2, 6} is a record, because a record is only a tuple.
> 
> #test is only a facility in order not to write default values in a tuple. that s all.
> 
> regards
> 
> 
> 
> « Envoyé depuis mon mobile » Eric
> 
> Roland Karlsson <roland.karlsson@REDACTED> a écrit :
> 
> >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 <kostis@REDACTED> 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
> >> erlang-bugs@REDACTED
> >> http://erlang.org/mailman/listinfo/erlang-bugs
> >
> >-- 
> >Roland Karlsson <roland.karlsson@REDACTED>
> >
> >_______________________________________________
> >erlang-bugs mailing list
> >erlang-bugs@REDACTED
> >http://erlang.org/mailman/listinfo/erlang-bugs

-- 
Roland Karlsson <roland.karlsson@REDACTED>




More information about the erlang-bugs mailing list