Thanks Robby - I will dig into these papers to learn more about custodians. <br><br>Thanks,<br>yinso<br><br><div><span class="gmail_quote">On 4/16/07, <b class="gmail_sendername">Robby Findler</b> <<a href="mailto:robby@cs.uchicago.edu">
robby@cs.uchicago.edu</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Oh! Custodians are the mechanism we use to identify "principal"s for
<br>the purpose of reclaiming resources. Threads are one such resource.<br><br>I suggest that you read these two papers to get an idea of the<br>pragmatics of custodians:<br><br> <a href="http://www.ccs.neu.edu/scheme/pubs/icfp99-ffkf.pdf">
http://www.ccs.neu.edu/scheme/pubs/icfp99-ffkf.pdf</a><br> <a href="http://www.cs.utah.edu/plt/publications/pldi04-ff.pdf">http://www.cs.utah.edu/plt/publications/pldi04-ff.pdf</a><br><br>They are really quite different than the other things (let, fluid-let,
<br>parameterize) you are asking about.<br><br>Robby<br><br>On 4/16/07, Yin-So Chen <<a href="mailto:yinso.chen@gmail.com">yinso.chen@gmail.com</a>> wrote:<br>> They are both mentioned under the thread chapter in mzscheme doc hence I
<br>> thought they were related ;) Under what situation do I need to think about<br>> custodians?<br>><br>> Thanks,<br>> yinso<br>><br>><br>> On 4/16/07, Robby Findler <<a href="mailto:robby@cs.uchicago.edu">
robby@cs.uchicago.edu</a>> wrote:<br>> > No, parameterize doesn't use custodians. They're independent of each<br>> other.<br>> ><br>> > Robby<br>> ><br>> > On 4/16/07, Yin-So Chen <
<a href="mailto:yinso.chen@gmail.com">yinso.chen@gmail.com</a>> wrote:<br>> > > Thanks Robby/Carl (and Eric for answering privately) -<br>> > ><br>> > > here's a related question: Does parameterize automatically uses a
<br>> custodian<br>> > > (e.g. current-custodian) to manage resources or custodians have to be<br>> used<br>> > > explicitly?<br>> > ><br>> > ><br>> > > On 4/16/07, Robby Findler <
<a href="mailto:robby@cs.uchicago.edu">robby@cs.uchicago.edu</a>> wrote:<br>> > > > Another difference between parameters and fluid-let: in a fluid-let<br>> > > > the values are not thread local, but in a parameter they are.
<br>> > > ><br>> > > > Robby<br>> > > ><br>> > > > On 4/16/07, Carl Eastlund <<a href="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</a> > wrote:<br>> > > > > On 4/16/07, Yin-So Chen <
<a href="mailto:yinso.chen@gmail.com">yinso.chen@gmail.com</a>> wrote:<br>> > > > > > What is the difference between using let vs parameterize?<br>> > > > ><br>> > > > > Let operates on bindings. It creates a new name and binds it to a
<br>> > > > > value. This affects code directly within the let-body that refers<br>> to<br>> > > > > the same name, providing it is not bound again ("shadowed") inside<br>> the
<br>> > > > > let.<br>> > > > ><br>> > > > > Parameterize operates on parameters, which are values. It takes an<br>> > > > > existing parameter and makes it return a different value during the
<br>> > > > > execution of the body of the parameterize. This affects any code<br>> > > > > called during that execution, even if it's in a different function,<br>> > > > > module, whatever, so long as it uses the same parameter value.
<br>> > > > ><br>> > > > > > It seems that one can use let to manipulate parameter objects (at<br>> > > least<br>> > > > > > scheme doesn't forbid it) - any issues with using it?
<br>> > > > ><br>> > > > > Let does not manipulate values at all. It just binds names to<br>> > > > > existing values. It never changes values or their contents.<br>> > > > >
<br>> > > > > > How do I know whether or not something is a parameter versus a<br>> > > variable?<br>> > > > ><br>> > > > > You could ask the same thing about numbers vs variables, or strings
<br>> vs<br>> > > > > variables. A variable is a name for a value. That value might be<br>> > > > > anything: number, string, list, parameter, etc. But you should be<br>> > > > > careful never to confuse the name with what it refers to.
<br>> > > > ><br>> > > > > And in response to the followup email: fluid-let, like let, operates<br>> > > > > on variables (names), not values. Hence it would not be an<br>> > > > > "extension" to make it work on parameters. If you give the name of
<br>> a<br>> > > > > parameter to fluid-let, it will change which parameter that name<br>> > > > > refers to, not the contents of the current parameter.<br>> > > > ><br>> > > > > --
<br>> > > > > Carl Eastlund<br>> > > > > _________________________________________________<br>> > > > > For list-related administrative tasks:<br>> > > > ><br>
> <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>> > > > ><br>> > > ><br>> > ><br>> > ><br>> > >
<br>> > > --<br>> > > <a href="http://www.yinsochen.com">http://www.yinsochen.com</a><br>> > > ...continuous learning...<br>> ><br>><br>><br>><br>> --<br>><br>> <a href="http://www.yinsochen.com">
http://www.yinsochen.com</a><br>> ...continuous learning...<br></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.yinsochen.com">http://www.yinsochen.com</a><br>...continuous learning...