no function clause matching became no case clause matching exception

Eckard Brauer eckard.brauer@REDACTED
Fri Dec 10 16:16:52 CET 2021


Just a bit curious, what is the lambda fun intended to do?

fun(a) -> "a" end

looks to me as it would only evaluate if called with a single symbol a
as arg and (silently) fail otherwise. If I extend a littl I get:

10> [(fun F(a) -> "a"; F(_) -> nothing end)(R) || R <- [a, b, c]].
["a",nothing,nothing]

Don't mind if the question is stupid, I'm still learning...
E.


> Dear list,
> 
> The following list comprehension used to give a no function clause 
> matching exception in previous version of Erlang. Now it will emit a
> no case clause matching exception. Is this expected behavior?
> 
>      [(fun(a) -> "a" end)(R) || R <- [a, b, c]]
> 
> NB: I use this construct to process lists with different record
> types. In the unit tests I was testing explicitly on this type of
> exception.
> 
> Frans
> 
> 



More information about the erlang-questions mailing list