[e-lang] Announcing E 0.8.29f (was: Idea: SturdyRef debug printing)

Mark Miller markm at caplet.com
Sat Jul 17 19:46:33 EDT 2004


Announcing 0.8.29f, at http://www.erights.org/download/0-8-29/index.html

Just like 0.8.29e, but with an added feature:

At 03:29 PM 7/17/2004  Saturday, Kevin Reid wrote:
>Idea:
>
>Make SturdyRefs, if their referents are NEAR, print them:
>
>  <SturdyRef to <counter>>
>
>instead of
>
>  <SturdyRef>
>
>This would be useful for debugging, and it would not reveal any information 
>not already available to holders of the SturdyRef.

This is a good idea, and was easy to implement.

    ? introducer.onTheAir()
    # value: ["3DES_SDH_M2", "3DES_SDH_M"]

    ? def [p,r] := Ref.promise()
    # value: [<Promise>, <Resolver>]

    ? def sr := makeSturdyRef.temp(p)
    # value: <SturdyRef>

    ? r.resolve("foo")
    ? sr
    # value: <SturdyRef to "foo">


>Edge case: if an object which has a private reference to a SturdyRef uses 
>that SturdyRef in its __printOn, then the print of the referent of the 
>SturdyRef will be revealed where it would not before. I don't know if this 
>would be a problem.

Good to note such possibilities, but I'm not worried about this one. If any 
client depends on SturdyRef to be discreet in this way, the client should be 
considered wrong. Doesn't mean that we aren't making such mistakes 
ourselves, but if we are, we should fix the clients.

Despite this possibility that we might be breaking such clients, E with this 
change is now posted as the new 0.8.29f.

(This time, I really did put the files up before sending the announcement. 
Enjoy.)


-- 
Text by me above is hereby placed in the public domain

        Cheers,
        --MarkM



More information about the e-lang mailing list