Re: no function clause matching became no case clause matching exception

Dieter Schön <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <[email protected]>
Hi Frans,


I tested all my installed versions, from 19. onwards, with this neat 
feature of asdf:

for v in $(asdf list erlang); do

   asdf shell erlang $v

   echo $v

   erlc lico.erl

   erl -s lico -s init stop

done

It crashes all the time.

I think the reason for the crash is that atoms b and c do not 
pattern-match with the atom a in the fun definition.


So probably you had different data in your previous, successful tests?

A question from me: is there a way to define a lambda with different 
function clauses?

In general, I would think, it is not advisable. When the lambda gets 
complicated, I use a statically defined function..


Kind regards,

Dieter


On 10.12.21 15:51, Frans Schneider wrote:
> 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
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.