Y combinator: Difference between revisions
m
→{{header|OCaml}}: minor mistakes
m (→{{header|OCaml}}: minor mistakes) |
|||
Line 491:
=={{header|OCaml}}==
<lang ocaml>
;;
;;
(* val unroll : 'a mu -> 'a mu -> 'a = <fun>
val fix : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b = <fun>
val fac : (int -> int) -> int -> int = <fun>
val fib : (int -> int) -> int -> int = <fun> *)
(* - : int = 120 *)
# fix fib 8;;▼
- : int = 21</lang>▼
▲(* - : int = 21 *)</lang>
The usual version using recursion, disallowed by the task:
<lang ocaml>let rec fix f x = f (fix f) x;;</lang>
=={{header|Oz}}==
|