[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