let a = ... let b = Some a let c = b (* b and c share the same value *) let d = Some a (* d = b, but d != b, i.e. b and d don't share the same value in memory *) If you want b and d to share the same value, you have to use some kind of h-consing, but the runtime won't do it for you by default. --Fabrice INRIA -- OCamlPro On 03/07/2011 03:25 AM, Kihong Heo wrote: > Sorry. It's my mistake. > not variable sharing, but "value sharing" which means alias. > > For example, there is a big set and I want to make many subset of it. > In my thought, if the aliases are made efficiently, the memory explosion does not make sense. > I don't know exactly what's the problem (my programming style, data type, or it is a natural result, etc..). > So I want to know the principle. > > Thank you. > Kihong > > 2011. 3. 7., ¿ÀÀü 11:07, Yitzhak Mandelbaum ÀÛ¼º: > >> Kihong, >> >> Could you elaborate on what you mean by "variable sharing" and what specifically is not happening as expected? Perhaps you could provide a small example that demonstrates the problem you're seeing? >> >> Cheers, >> Yitzhak >> >> >> On Mar 6, 2011, at 8:49 PM, Kihong Heo wrote: >> >>> Dear caml-list. >>> >>> I want to know how ocaml compiler make variable sharing. >>> I believe the compiler do good job, but sometime memory consumption >>> of my program does not make sense. >>> So I am curious about what the compiler did or how to make program memory efficiently. >>> >>> If you know some good notes or web pages for that issue, please let me know. >>> >>> Thank you. >>> >>> - Kihong Heo >>> >>> -- >>> Caml-list mailing list. Subscription management and archives: >>> https://sympa-roc.inria.fr/wws/info/caml-list >>> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>> Bug reports: http://caml.inria.fr/bin/caml-bugs >>> >> >> ----------------------------- >> Yitzhak Mandelbaum >> >> >> > > -- > Çã ±â È« µå¸² > khheo@ropas.snu.ac.kr > ¼­¿ï´ëÇб³ ÇÁ·Î±×·¡¹Ö ¿¬±¸½Ç > > >