From fbfd64b3675fb0e0d9981378b0b6861c61945fcb Mon Sep 17 00:00:00 2001 From: Julien Cretel Date: Wed, 20 May 2015 08:45:15 +0100 Subject: [PATCH] [erlang/en] Fix #970 --- erlang.html.markdown | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/erlang.html.markdown b/erlang.html.markdown index 322e437d..a897755e 100644 --- a/erlang.html.markdown +++ b/erlang.html.markdown @@ -167,8 +167,12 @@ is_dog(A) -> false. % A guard sequence is either a single guard or a series of guards, separated % by semicolons (`;`). The guard sequence `G1; G2; ...; Gn` is true if at % least one of the guards `G1`, `G2`, ..., `Gn` evaluates to `true`. -is_pet(A) when is_dog(A); is_cat(A) -> true; -is_pet(A) -> false. +is_pet(A) when is_atom(A), (A =:= dog) or (A =:= cat) -> true; +is_pet(A) -> false. + +% Warning: not all valid Erlang expressions can be used as guard expressions; +% in particular, our `is_cat` and `is_dog` functions cannot be used within the +% guard sequence in `is_pet`'s definition. % Records provide a method for associating a name with a particular element in a % tuple.