From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Colin Woodbury Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCHv3] Extensions for SRFI-171 (Transducers) Date: Fri, 18 Aug 2023 19:10:23 +0900 Message-ID: <7cef132a-2e0c-4b14-9c9d-4f105de1724e@fosskers.ca> References: <1158f7bf-3093-8c3b-dd74-267f1fbb6f4c@fosskers.ca> <877cxp9mpn.fsf@gnu.org> <875ycwzyi5.fsf@gnu.org> <54ccae4e-0937-640b-cd23-fad835be241d@fosskers.ca> <87ilgwwbao.fsf@gnu.org> <07c2b0bb-6c22-da79-2776-362f36ebd19d@fosskers.ca> <22f85688-c7d3-6bce-73f1-99fb464f77a1@fosskers.ca> <871qg0vf8y.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22725"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: guile-devel@gnu.org To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Fri Aug 18 12:13:45 2023 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qWwUA-0005hx-Uk for guile-devel@m.gmane-mx.org; Fri, 18 Aug 2023 12:13:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qWwTn-0002mP-GZ; Fri, 18 Aug 2023 06:13:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qWwRC-0002Yz-Vr for guile-devel@gnu.org; Fri, 18 Aug 2023 06:10:39 -0400 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qWwR9-0004aq-0T; Fri, 18 Aug 2023 06:10:38 -0400 Original-Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 74C825C00D9; Fri, 18 Aug 2023 06:10:29 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 18 Aug 2023 06:10:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fosskers.ca; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm1; t= 1692353429; x=1692439829; bh=S0nI9l1PngeNJLn1uI0h1W5qW9AbkZ6Ehmv 4kZR2FXA=; b=P5xTTaA6hwRl8VCEzqM9AKM9ey8C9pkfdK/ZFladk+/wMLlBth6 r/0fl6HoiwSq7IBbEC3Yeln6jdHHCtS8AKQ35SLMlQzC6RctxjYM7SNPAzTy4QFI 8/J14bvw4tan9tYWdHhpAUdfTi++A9Vc7ZRJj9vzfMhWGwfByVb1+nz/Wyl3SAa7 30s3q+V86oMrEHtw4NOr3z7tF4MhNISwecAMkMgY21P5MhEve/Py5Cxo8NM3X5RW qlvuEp/XkRw2su+jf/PpmFYEHYxar+PSZ1zOrAPRNwrP06VurF3a8qY5aTZwZzHS XInSTyeGY5i6ljnpKDqh/hWxiZR1ioHSP2w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1692353429; x=1692439829; bh=S0nI9l1PngeNJLn1uI0h1W5qW9AbkZ6Ehmv 4kZR2FXA=; b=bBKSJWMOBSUHHuRhanD4k4663bm9uwkAVuOfRxwp+L2B0YRYARq AOS5C82e/MsPl4VmrXeHaSgkN22puC90y/OIa2NlCDjvUVmIPFHCs8MxbANVe8Bi 9PvERel/nneGj2fOz8H+dwFGNrSTnV/Rm6XXQgxyKDNKp32AgJJS1UW6I+FwYDv/ crwEjAazQENwxShJaXjU79wltX74xvPzaqjtWwR5gTOp805DrD1A00LIUnZGLCq9 lq/hS8GtDX90x2DpY81n/QDhS0+wku08GugkCHDwpa/ImyC5FV1P3spfjh0Aim57 bIOZ0gd99qS3I/2FUA/BHvU1KfEPU/K5vbA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedruddufedgvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdejnecuhfhrohhmpeevohhl ihhnucghohhouggsuhhrhicuoegtohhlihhnsehfohhsshhkvghrshdrtggrqeenucggtf frrghtthgvrhhnpeeliefhgfffiefghfehveegudfhudeuudelueeuffeijedvtddufeef geehheeigfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpegtohhlihhnsehfohhsshhkvghrshdrtggr X-ME-Proxy: Feedback-ID: iaef144a3:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 18 Aug 2023 06:10:27 -0400 (EDT) Content-Language: en-US In-Reply-To: <871qg0vf8y.fsf@gnu.org> Received-SPF: none client-ip=66.111.4.28; envelope-from=colin@fosskers.ca; helo=out4-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.devel:21915 Archived-At: On 8/18/23 19:03, Ludovic Courtès wrote: > Apologies for the delays, we’re pioneering “slow dev” I guess. :-) Haha no issue at all! > Could you take a look? In that case, please hold on the patch. I am currently "rounding out" the "one true Transducer API" in several other Lisps, and am close to what I consider a representative set of the desirable primitives a developer would want out-of-the-box. One I'm done there, I will return to this and a few things that are currently missing. The other Lisps have also achieved a zip-like pattern (i.e. passing multiple collections to `transduce` at the same time, thus allowing functions like `map` to operate on multiple inputs). There is also the issue of SRFI-171's disambiguated `transduce-list`, `transduce-vector`, etc., since Scheme has no `defgeneric` by default. Guile _does_ however, so we could write a generic `transduce` in Guile's own extensions. In general though it would be nice if SRFI-XYZ "Transducers Redux" could depend on a standardized generics system, but alas. Anyway, thanks for getting back to me. I'll return to this effort in due time. Cheers, Colin