[erlang-bugs] compile and syntax_tools disagree
Bjorn Gustavsson
bjorn@REDACTED
Tue Apr 3 14:41:06 CEST 2007
We'll clarify the documentation in R11B-5.
/Björn
"Ulf Wiger \(TN/EAB\)" <ulf.wiger@REDACTED> writes:
> I didn't miss out on it. I was trying to
> keep the email short. (:
>
> The way I read the documentation in it's current
> state is that it is supposed to work as syntax_tools
> does, where
>
> [G1, G2, ...] is a conjunction of guards, and
> [[G11,G12,...],[G21,G22,...],...] is a disjunction.
>
> I have no problem with the compiler requiring
> [[G]] rather than [G]. I have changed the output
> of my code generator to this, since clearly -
> bug or no bug - this would have been a correct
> pattern.
>
> If Rep(Gss) had been used, as you suggest, it
> would indeed have been more obvious, and also
> correctly described the current behaviour of
> the compiler. ,-)
>
> BR,
> Ulf W
>
> > -----Original Message-----
> > From: Richard Carlsson [mailto:richardc@REDACTED]
> > Sent: den 3 april 2007 13:01
> > To: Ulf Wiger (TN/EAB)
> > Cc: Bjorn Gustavsson; erlang-bugs@REDACTED
> > Subject: Re: [erlang-bugs] compile and syntax_tools disagree
> >
> > Ulf Wiger (TN/EAB) wrote:
> > > Maybe it's just I who don't understand how to read the doc
> > on abstract
> > > forms, but quoted from
> > >
> > http://www.erlang.org/doc/doc-5.5.4/erts-5.5.4/doc/html/part_frame.htm
> > > l
> > >
> > > "If C is a function clause ( Ps ) when Gs -> B where Ps is
> > a pattern
> > > sequence, Gs is a guard sequence and B is a body, then
> > > Rep(C) = {clause,LINE,Rep(Ps),Rep(Gs),Rep(B)}.
> > > ...
> > > A guard Gs is a nonempty sequence of guard tests G_1, ..., G_k, and
> > > Rep(Gs) = [Rep(G_1), ..., Rep(G_k)].
> >
> > Don't miss the immediately following paragraph:
> >
> > "A guard sequence Gss is a sequence of guards Gs_1; ...; Gs_k, and
> > Rep(Gss) = [Rep(Gs_1), ..., Rep(Gs_k)]. If the guard sequence
> > is empty,
> > Rep(Gss) = []."
> >
> > The description of {clause, ...} that you quote above says
> > "Gs is a guard sequence". It would have been more obvious if
> > that paragraph had used Gss instead of Gs.
> >
> > /Richard
> >
> >
>
--
Björn Gustavsson, Erlang/OTP, Ericsson AB
More information about the erlang-bugs
mailing list