[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2373: adopt pyrsistent
Tahoe-LAFS
trac at tahoe-lafs.org
Wed Feb 4 17:33:42 UTC 2015
#2373: adopt pyrsistent
-------------------------+---------------------------
Reporter: zooko | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: undecided
Component: unknown | Version: 1.10.0
Keywords: | Launchpad Bug:
-------------------------+---------------------------
https://warehouse.python.org/project/pyrsistent/
Immutable data structures. They reduce bugs by avoiding the situation
where someone mutates a data structure that someone else was counting on
to stay the same. We already try to use `frozenset` instead of `set` or
`dict`, where-ever we can, but the pyrsistent library also adds immutable
dicts and many other useful tools. I still remember staying up all night
with Daira one time tracking down a bug just before the Tahoe-LAFS v1.8
release, which turned out to be an accidentally-mutated dict…
One huge drawback to adopting this, of course, is that it is another
dependency. However, it is pure-Python and I don't think they're going to
be making backwards-incompatible changes to the API, so it is a lot less
costly than some of our dependencies.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2373>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list