diff options
| author | Chenggang Duan <cgduan@live.com> | 2015-02-12 16:54:26 +0800 | 
|---|---|---|
| committer | Chenggang Duan <cgduan@live.com> | 2015-02-12 16:54:26 +0800 | 
| commit | 8c70acc9fb102e5884fb9e05c79e07015c3e4188 (patch) | |
| tree | a1ced8e793dc3c25014aa697e16f881775f06fa8 /ocaml.html.markdown | |
| parent | 6edf12c4d723bdb4d4a04192f8786ff19459161f (diff) | |
[ocaml/en] Change the example of mutually recursive functions
Change the example to a meaningful and self-contained example of
mutually recursive functions.
Diffstat (limited to 'ocaml.html.markdown')
| -rw-r--r-- | ocaml.html.markdown | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/ocaml.html.markdown b/ocaml.html.markdown index f9db7080..b30d920b 100644 --- a/ocaml.html.markdown +++ b/ocaml.html.markdown @@ -144,11 +144,16 @@ x + y ;;  (* Alternatively you can use "let ... and ... in" construct.     This is especially useful for mutually recursive functions,     with ordinary "let .. in" the compiler will complain about -   unbound values. -   It's hard to come up with a meaningful but self-contained -   example of mutually recursive functions, but that syntax -   works for non-recursive definitions too. *) -let a = 3 and b = 4 in a * b ;; +   unbound values. *) +let rec +  is_even = function +  | 0 -> true +  | n -> is_odd (n-1) +and +  is_odd = function +  | 0 -> false +  | n -> is_even (n-1) +;;  (* Anonymous functions use the following syntax: *)  let my_lambda = fun x -> x * x ;; | 
