Browse thread
[Caml-list] Closure & Ref
- chris.danx
[
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: | 2003-11-17 (19:32) |
From: | chris.danx <chris.danx@n...> |
Subject: | [Caml-list] Closure & Ref |
Hi, I was toying with ocaml just now and have successfully written a function that takes and int that produces a function that takes an int to add to the original. let prodAdd x = let value = ref x in fun y -> !value + y;; Now I want to do a function that takes a ref to a list and returns a function that adds items to the list and produce a function that returns another that returns the list. How do I do that? let prod_list_acc a = fun x -> a := x :: !a; true;; let return_acc a = fun () -> !a;; but that gives a "unit -> int list" =. How do you get a copy of the list values? This might seem like a crazy thing to do but I am toying with an idea relating to a paper I read on traits. Instead of having classes at all you can just have traits, closures and mutable values. Cheers, Chris ------------------- 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