Possible bug using funs

Fredrik Linder <>
Wed Jul 17 00:44:35 CEST 2002


Hi, I get the following error when writing a fun:

The only differense (as I can see) is the order of the two clauses in the
funs; T2 has the empty list test as its first clause while T1 has the empty
list test as its last clause:

17> T2=fun([],[],Acc,Cont)->lists:reverse(Acc);
([H1|T1],[H2|T2],Acc,Cont)->io:format("~w~n",[Acc]),Cont(T1,T2,[{H1,H2}|Acc]
,Cont) end.
#Fun<erl_eval.3.17583228>
18> T2([1,2],[1,2],[],T2).
[]
[{1,1}]
[{1,1},{2,2}]
19>
T1=fun([H1|T1],[H2|T2],Acc,Cont)->io:format("~w~n",[Acc]),Cont(T1,T2,[{H1,H2
}|Acc],Cont); ([],[],Acc,Cont)->lists:reverse(Acc) end.
#Fun<erl_eval.3.17583228>
20> T1([1,2],[1,2],[],T1).
[]
[{1,1}]
** exited: {{illegal_pattern,{cons,1,{var,1,'H1'},{var,1,'T1'}}},
            [{erl_eval,expr,3}]} **
21>

I'm using: Erlang 5.1/OTP R8B

/Fredrik





More information about the erlang-questions mailing list