Compiler reports for many tools:

SSL_printnl: argument not a list: Anno(Op(“Conc”,[Var(“l1”),Var(“l2”)]),Wld)
SSL_printnl: argument not a list: Anno(Op(“Conc”,[Wld,Wld]),Wld)

Submitted on 15 July 2005 at 00:11

On 28 July 2005 at 11:00 Jira commented:

STR-338, martin:
Message is from incorrect error reporting for Conc in match. Conc in match and build will be allowed and desugar list matching will generate runtime check.

[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfId_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfId_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfId_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListStarOfStringPart_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfStringPart_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfStringPart_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfStringPart_0(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListStarOfCharClass_1(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfCharClass_1(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfCharClass_1(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)
[ desugar-list-matching | error ] concatentation in match in definition is-ListPlusOfCharClass_1(0,0)
Anno(Op(“Conc”,[Wld,Wld]),Wld)


On 28 July 2005 at 11:52 Jira commented:

STR-338, visser:
The problem was caused by an erroneous use of the ‘error’ strategy. The error reported was the use of a Conc term in a match. Since this excluded the use of this constructor everywhere, this is no longer an error. Also, the use of Conc in builds is extended to terms in which the arguments of Conc are not proper lists. The new library strategy makeConc is used to concatenate if the arguments are lists and construct a Conc node otherwise.
constructed

Log in to post comments