From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed1.ulv.nextra.no!nextra.com!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: (make-hash-table :test #'mytest) Date: 05 Nov 2002 22:30:40 +0000 Organization: Naggum Software, Oslo, Norway Lines: 20 Message-ID: <3245524240078182@naggum.no> References: <3245338726772626@naggum.no> <2h1y60gp68.fsf@vserver.cs.uit.no> <4ela0m0vg.fsf@beta.franz.com> <7h3el9z27cb.fsf@pc150.maths.bris.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: maud.ifi.uio.no 1036535440 2915 129.240.65.212 (5 Nov 2002 22:30:40 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 5 Nov 2002 22:30:40 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:45844 * Michael Hudson | How do you efficiently tell which hashtables a given object is in? I | can't think of a blindly obvious way of doing that. I haven't spent long | thinking about it, so sorry if I'm just being dumb. You are not allowed to change the key in a way that would change the value of the test function applied to it. This is not when rehashing takes place. Rehashing takes place when you have an `eq´ hashtable of objects that do not have an internal hash code (such as is commonly done with symbols), and a garbage collection moves the objects around. As Duane explained, there is no point in actually performing the rehash until the hash-table is accessed after a garbage collection that actually moved an object. The information necessary to make this decision is all local to the hash-table. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.