Logo

Programming-Idioms

  • Erlang
  • Haskell

Idiom #131 Successive conditions

Execute f1 if condition c1 is true, or else f2 if condition c2 is true, or else f3 if condition c3 is true.
Don't evaluate a condition when a previous condition was true.

let x | c1 = f1
      | c2 = f2
      | c3 = f3

Assignment guards
if c1 then f1
else if c2 then f2
else f3
if
	C1 -> f1();
	C2 -> f2();
	C3 -> f3()
end.

default if block behaviour
if c1 then
    f1;
elsif c2 then
    f2;
elsif c3 then
    f3;
end if;

assume that f, g, and h are procedure and that a and b are Boolean

New implementation...
< >
programming-idioms.org