[erlang-questions] style question - best way to test multiple non-guard conditions sequentially
Richard Carlsson
carlsson.richard@REDACTED
Mon Dec 16 11:32:52 CET 2013
On 2013-12-15 19:07 , Anthony Ramine wrote:
> Hello,
>
> I’ve thought about this again and realised that there is a technical reason not to expand cond expressions to nested cases directly. That reason is scoping rules.
>
> Let’s assume we compile this expression naively to nested cases:
>
> cond X = false -> X;
> X = true -> X
> end
>
> =>
>
> case X = false of
> true -> X;
> false ->
> case X = true of
> true -> X;
> end
> end.
>
> I would be *extremely* surprised that such an expression would crash with badmatch instead of returning true as it should.
>
> Regards,
>
Yes, these complications are the reasons why cond never got implemented
beyond experimenting with the expansion you showed above. It needs
clearly specified scoping rules, and support in all tools above the Core
Erlang level. And nobody seemed to have the time to do that.
/Richard
More information about the erlang-questions
mailing list