Browse thread
[Caml-list] ocaml killer
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2004-01-30 (10:36) |
From: | Thomas Fischbacher <Thomas.Fischbacher@P...> |
Subject: | Re: fancy types (was Re: [Caml-list] ocaml killer) |
On Thu, 29 Jan 2004, William Lovas wrote: > # type ('a, 'b) specialist = S of (('a, 'b) specialist -> 'a -> 'b);; > type ('a, 'b) specialist = S of (('a, 'b) specialist -> 'a -> 'b) > # let fac n = > let do_rec (S specialist) n = > if n = 0 then > 1 > else > n * specialist (S specialist) n > in > do_rec (S do_rec) n;; > val fac : int -> int = <fun> Hm, correct me if I am wrong, but to me this looks as if you had to unnecessarily cons at every recursive call... -- regards, tf@cip.physik.uni-muenchen.de (o_ Thomas Fischbacher - http://www.cip.physik.uni-muenchen.de/~tf //\ (lambda (n) ((lambda (p q r) (p p q r)) (lambda (g x y) V_/_ (if (= x 0) y (g g (- x 1) (* x y)))) n 1)) (Debian GNU) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners