From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Linus_Bj=C3=B6rnstam?= Newsgroups: gmane.lisp.guile.user Subject: Re: Raising awareness about guile-pfds status Date: Mon, 15 Jul 2019 22:50:05 +0200 Message-ID: <6adde1b2-4967-458c-a688-e36b349b4cd1@www.fastmail.com> References: Mime-Version: 1.0 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="126871"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Cyrus-JMAP/3.1.6-731-g19d3b16-fmstable-20190627v1 To: "Amirouche Boubekki" , "Guile User" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Jul 15 22:50:18 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hn7vM-000WrG-FP for guile-user@m.gmane.org; Mon, 15 Jul 2019 22:50:17 +0200 Original-Received: from localhost ([::1]:43698 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn7vL-0004NN-Ep for guile-user@m.gmane.org; Mon, 15 Jul 2019 16:50:15 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39056) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hn7vG-0004ND-Ck for guile-user@gnu.org; Mon, 15 Jul 2019 16:50:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hn7vF-0002fa-4f for guile-user@gnu.org; Mon, 15 Jul 2019 16:50:10 -0400 Original-Received: from out3-smtp.messagingengine.com ([66.111.4.27]:32863) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hn7vE-0002eD-SQ for guile-user@gnu.org; Mon, 15 Jul 2019 16:50:09 -0400 Original-Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 3A6B321DFB; Mon, 15 Jul 2019 16:50:07 -0400 (EDT) Original-Received: from imap1 ([10.202.2.51]) by compute1.internal (MEProxy); Mon, 15 Jul 2019 16:50:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.se; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type:content-transfer-encoding; s=fm3; bh=kJJcb 1dbEbpUluUFdBhesAE1wR5q8ZcprkOeFvsLWps=; b=yCKc61tM4BiCHOqMWDdTB KOhv94dDeoQ7QfBjV4MUp/onTtFAHWLiXPeZi1FY8DsPjR5o9U9iIlU3hUVj2DHF K3MAN2uPQTEDYoVGPl4b5D9adXe1OpI40JCZSKlGra4OFtxWF7tMmYN3dJeJb6Kb OOBft5pvvQjaRiy34lSBOtAE/J43ZWjXtAXu4LxLDrtUuxN/m9UeUr97c+Siz4Ow pY6RpeQBy6YXY5+oKSygF531Cb3nPkUTVMceigbsYKjUhf9SRmu+A+QqWxRUsX9H zb0vGpacBPZ5GLxJ1oShWUZKyp1v4cIDNnSDLWY9XgNUBSxjbSSSlAZmu1GFZxbc g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=kJJcb1dbEbpUluUFdBhesAE1wR5q8ZcprkOeFvsLW ps=; b=oMhrDyWDrj7KEi2vZYHJbhNyb9t5OaRI17g3LgKLKbrrTMzNAAmXDA8jQ 7B5g84oLRJVYCzQDYVpDVyMQWunZF7BuM4CA5mpIusWo1uwh/qlxSS9NL1nfHZI3 ObVMuZJs7tlfIUTRWkx5wHowXs2DLA4rcSSZGxyMsmWTtz+8o3b7BvXQwQVHI58r kh9RAXNSoic/X75jmpbs7hZOR0ui7Etpq7WVBunsaPOHmp68crDKauPpnufPjzcZ eztVgBDK+KKcRV3nqWyoOg/XPiskuI54UbJ7U+xijRSMcV4/EbUAe7TBYT8yGOaY iPwElSz/mvYJqNEt3RXWnPSSGwP6A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrheekgddugeelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvffutgfgsehtqhertderreejnecuhfhrohhmpefnihhn uhhspgeujhpnrhhnshhtrghmuceolhhinhhushdrihhnthgvrhhnvghtsehfrghsthhmrg hilhdrshgvqeenucffohhmrghinhepghhithhhuhgsrdgtohhmpdgsihhtsghutghkvght rdhorhhgpdhhhihpvghrrdguvghvpdhgnhhurdhorhhgnecurfgrrhgrmhepmhgrihhlfh hrohhmpehlihhnuhhsrdhinhhtvghrnhgvthesfhgrshhtmhgrihhlrdhsvgenucevlhhu shhtvghrufhiiigvpedt X-ME-Proxy: Original-Received: by mailuser.nyi.internal (Postfix, from userid 501) id E1143C200A4; Mon, 15 Jul 2019 16:50:06 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.111.4.27 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15636 Archived-At: If it is HAMTs or persistent vectors you want, I have a git repo of Andy= 's Fash and Fector (functional hashmaps and functional.vectors). Fash la= cks some parts to become a fast implementation of (srfi 146 hash), like = being able to properly delete keys. I would implement it myself if I had= any friggin idea what the code did, but to my limited mind it is quite = impenetrable. Other than that, I have a decently fast implementation of a pairing heap= in my Nietzsche repo, which I found is generally slightly faster than t= he height balanced leftist tree in the PFDS library (and, should be said= , about an order of magnitude slower than a regular binary heap using ve= ctors). The Fector library: https://bitbucket.org/bjoli/guile-fector The fash library: https://bitbucket.org/bjoli/guile-fash/ My pairing heap: https://bitbucket.org/bjoli/nietzsche/src/default/data/= pairing-heap.scm I don't know how using records compares to using cons pairs in guile, bu= t there might be some speed gains. It also lacks a proper (as in fast) l= ist->node because my 23 year old me didn't know how to implement it. It = should be trivial.=20 Fash and Fector are very fast. Andy likes speed :) --=20 Linus Bj=C3=B6rnstam On Mon, 15 Jul 2019, at 18:06, Amirouche Boubekki wrote: > The original maintainer of guile-pfds is sadly not responding to my ma= ils. >=20 > Right now, guile-pfds is the goto solution for functional data structu= res > in Guile, > and prolly other Scheme implementations. >=20 > At least the hamt has a bug, see https://github.com/ijp/pfds/pull/6/fi= les >=20 > I think this is a very important package especially for guile that doe= sn't > have a functional hashmaps. >=20 > Anyone willing to take ownership of the project? >=20 >=20 > ref: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D35518 >=20 > --=20 > Amirouche ~ amz3 ~ https://hyper.dev >