From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Sjoerd_van_Leent_Priv=E9?= Newsgroups: gmane.lisp.guile.devel Subject: Re: Immutable rnrs hashtable Date: Mon, 26 Nov 2012 15:18:25 +0100 Message-ID: <50B37A31.1050705@gmail.com> References: <50B2A31B.1070903@gmail.com> <87mwy5b1ej.fsf@Kagami.home> <50B33A09.7090303@gmail.com> <87ip8sbqug.fsf@Kagami.home> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1353939497 6502 80.91.229.3 (26 Nov 2012 14:18:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 26 Nov 2012 14:18:17 +0000 (UTC) Cc: guile-devel@gnu.org To: Ian Price Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Nov 26 15:18:27 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TczVt-0001MW-4t for guile-devel@m.gmane.org; Mon, 26 Nov 2012 15:18:21 +0100 Original-Received: from localhost ([::1]:34527 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TczVh-0006SB-RA for guile-devel@m.gmane.org; Mon, 26 Nov 2012 09:18:09 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:52229) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TczVY-0006PS-Qa for guile-devel@gnu.org; Mon, 26 Nov 2012 09:18:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TczVU-0007bK-O2 for guile-devel@gnu.org; Mon, 26 Nov 2012 09:18:00 -0500 Original-Received: from mail-la0-f41.google.com ([209.85.215.41]:39542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TczVU-0007Zz-GD for guile-devel@gnu.org; Mon, 26 Nov 2012 09:17:56 -0500 Original-Received: by mail-la0-f41.google.com with SMTP id m15so7531055lah.0 for ; Mon, 26 Nov 2012 06:17:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=NQRODVZwQruWuAFmKMyQslL6rDaIfVv91BHEIXVYLVU=; b=AgD6pkDu4VUz3NIc8afgLuBwdpCeHxA4DOaYETgPS5TLT9yuz7aUgU04QzTEkjUmc9 ElzrdGXHamSQixmmw6w/YZ7GhnI6w6ahYL+7P+FgxInAF4PgrIcJx33r/h9mvS/UOc+P NhMJfL9F500RqaepiyXdG+I58pVzyAd1dwNcUsYOdMcG5MmriBkeRJbSm7EXYHP8ly7I e78KU3c1KNPT8ajKpRIkj5BrSHwHJkb4C9AefmRDXCBtD7xn5RGwY0+nGzRQfARqaTiz jrlHP4dYKOQkoPLyAim7f3zUBk/SDoUPkqBy0I8fFRUqFUedrpcEp5lC5JBwvEONsBXX U9/A== Original-Received: by 10.112.47.65 with SMTP id b1mr4924477lbn.14.1353939475316; Mon, 26 Nov 2012 06:17:55 -0800 (PST) Original-Received: from [172.16.3.14] (5352DA6A.cm-6-3d.dynamic.ziggo.nl. [83.82.218.106]) by mx.google.com with ESMTPS id sx3sm5492108lab.9.2012.11.26.06.17.52 (version=SSLv3 cipher=OTHER); Mon, 26 Nov 2012 06:17:54 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1 In-Reply-To: <87ip8sbqug.fsf@Kagami.home> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.215.41 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:15257 Archived-At: Hi Ian, Thanks for the suggestions. I will certainly have a look at those. I believe the bbtrees can come in handy. Can certainly give it a go. Sjoerd On 11/26/2012 11:28 AM, Ian Price wrote: > Sjoerd van Leent Privé writes: > >> Btw, isn't their a hashtable which is more pure in it's >> implementation? The RNRS and SRFI-69 versions are having quite some >> side-effects. I would have expected a method like "hashtable-add" >> which copies an existing hashtable, adds values and returns a new >> hashtable. I know, I prefer pure functional implementations... > You could look up vhashes in the manual. Alternatively, if your data > has an ordering you can use (pfds bbtrees) from my pfds collection[0] > > > 0. https://github.com/ijp/pfds or guild install pfds