http://thedailywtf.com/Articles/The-Nondeterministic-Hash.aspx
Gonzalo On Mon, Apr 18, 2011 at 4:13 PM, William Stein <wst...@gmail.com> wrote: > Hi, > > I was just explaining to a student in my Sage course how I had > stupidly defined a default __hash__ method for SageObject, which was > -- stupidly -- to just hash the string representation. This was of > course silly and dangerous since only immutable objects should have a > __hash__ method. I then of course pointed out that we must have > fixed this years ago! But.... amazingly we didn't: > > sage: S = SageObject(); S > <type 'sage.structure.sage_object.SageObject'> > sage: hash(S) > -7904861314369208036 > sage: S.__hash__?? > File: /sagenb/flask/sage-4.6.2/devel/sage/sage/structure/sage_object.pyx > Source Code (starting at line 156): > def __hash__(self): > return hash(self.__repr__()) > > > Thoughts? > > -- William > > > > > -- > William Stein > Professor of Mathematics > University of Washington > http://wstein.org > > -- > To post to this group, send an email to sage-devel@googlegroups.com > To unsubscribe from this group, send an email to > sage-devel+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/sage-devel > URL: http://www.sagemath.org > > -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org