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: | -- (:) |
| 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