From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Price Newsgroups: gmane.lisp.guile.devel Subject: Re: Immutable rnrs hashtable Date: Mon, 26 Nov 2012 10:28:39 +0000 Message-ID: <87ip8sbqug.fsf@Kagami.home> References: <50B2A31B.1070903@gmail.com> <87mwy5b1ej.fsf@Kagami.home> <50B33A09.7090303@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1353925752 11915 80.91.229.3 (26 Nov 2012 10:29:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 26 Nov 2012 10:29:12 +0000 (UTC) Cc: guile-devel@gnu.org To: Sjoerd van Leent =?iso-8859-1?Q?Priv=E9?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Nov 26 11:29:24 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 1TcvwE-0007mn-WC for guile-devel@m.gmane.org; Mon, 26 Nov 2012 11:29:19 +0100 Original-Received: from localhost ([::1]:52855 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tcvw3-0006BG-Fa for guile-devel@m.gmane.org; Mon, 26 Nov 2012 05:29:07 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:52531) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tcvvq-0006Az-Rx for guile-devel@gnu.org; Mon, 26 Nov 2012 05:29:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tcvvl-000796-0d for guile-devel@gnu.org; Mon, 26 Nov 2012 05:28:54 -0500 Original-Received: from mail-wi0-f173.google.com ([209.85.212.173]:58909) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tcvvk-00078y-QZ for guile-devel@gnu.org; Mon, 26 Nov 2012 05:28:48 -0500 Original-Received: by mail-wi0-f173.google.com with SMTP id hn17so2329433wib.12 for ; Mon, 26 Nov 2012 02:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=RyXEIRd7CGEq7ZOOJoOXXluMenr6v944l3AIQoWDoBI=; b=U3idYjamKno4E7pasFHd1URc9vboH6i+VCWJLVI49lpaTfAY0MQ/aZ/BbZeLhHHmBK q9dMyWPMf8AD8ioszJ5GzGTGL+g7gPVbqa+8avtR81Q0cGVRVXJtHEKWSJWuHC9De2CI 6psYDNz+UW2ElZk+E2nrm5xQS7az1+DTPozjUOA42etx+vhEMzX3lNmFxDy2k0TvbpCt 66jIPEZ3bvtAwX3q8SeKvK/c5w1rA0OyM9chK+lW8WmW8a0RNV90ruMcO2Aayxs0ySo8 E5Ct2oW17Y8g4g4GavKQNHWGU4RQ/7l02USqMMaBTCKiIHkgMaYYfjCWlIIMY1l2ZUZ7 WSvQ== Original-Received: by 10.180.83.132 with SMTP id q4mr7394359wiy.9.1353925727947; Mon, 26 Nov 2012 02:28:47 -0800 (PST) Original-Received: from Kagami.home (host86-182-157-241.range86-182.btcentralplus.com. [86.182.157.241]) by mx.google.com with ESMTPS id en20sm23116436wid.4.2012.11.26.02.28.43 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 26 Nov 2012 02:28:46 -0800 (PST) In-Reply-To: <50B33A09.7090303@gmail.com> ("Sjoerd van Leent =?iso-8859-1?Q?Priv=E9=22's?= message of "Mon, 26 Nov 2012 10:44:41 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.212.173 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:15256 Archived-At: Sjoerd van Leent Priv=E9 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 --=20 Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled"