caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Closure & Ref
@ 2003-11-17 19:37 chris.danx
  2003-11-17 21:02 ` Dustin Sallings
  2003-11-17 21:43 ` Brian Hurt
  0 siblings, 2 replies; 5+ messages in thread
From: chris.danx @ 2003-11-17 19:37 UTC (permalink / raw)
  To: caml-list

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-11-17 21:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-17 19:37 [Caml-list] Closure & Ref chris.danx
2003-11-17 21:02 ` Dustin Sallings
2003-11-17 21:48   ` Dustin Sallings
2003-11-17 21:43 ` Brian Hurt
2003-11-17 21:35   ` chris.danx

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).