From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] add SRFI: srfi-121; generators Date: Mon, 01 Jul 2019 02:00:38 -0400 Message-ID: <87woh2gupl.fsf@netris.org> References: <3fb6ac24483457821130185b0e1f277c@disroot.org> <871rzaibt1.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="110412"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: guile-devel@gnu.org To: nly@disroot.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Jul 01 08:01:16 2019 Return-path: Envelope-to: guile-devel@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 1hhpNK-000Sb9-HI for guile-devel@m.gmane.org; Mon, 01 Jul 2019 08:01:14 +0200 Original-Received: from localhost ([::1]:48006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hhpNI-0001xw-V2 for guile-devel@m.gmane.org; Mon, 01 Jul 2019 02:01:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39293) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hhpND-0001xq-3G for guile-devel@gnu.org; Mon, 01 Jul 2019 02:01:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hhpNB-00063T-8O for guile-devel@gnu.org; Mon, 01 Jul 2019 02:01:06 -0400 Original-Received: from world.peace.net ([64.112.178.59]:42644) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hhpN9-0005sj-GI for guile-devel@gnu.org; Mon, 01 Jul 2019 02:01:05 -0400 Original-Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hhpMz-0005I8-7X; Mon, 01 Jul 2019 02:00:53 -0400 In-Reply-To: <871rzaibt1.fsf@netris.org> (Mark H. Weaver's message of "Mon, 01 Jul 2019 01:06:02 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.112.178.59 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.org gmane.lisp.guile.devel:19999 Archived-At: Hi again, I wrote earlier: > With this in mind, if SRFI-121 is to be added to Guile, it should be a > high performance implementation. The implementation that you provided, > which I guess is primarily taken from the sample implementation, is far > too inefficient, at least on Guile. I should emphasize that there's no shame in not being able to meet my high expectations for efficiency in a SRFI-121 implementation. The code that you provided would be quite reasonable in most contexts. In this particular case, because of the undesirability (IMO) of generators as an API due to their imperative nature, with their primary justification being the efficiency they can provide, I feel justified demanding high efficiency in this implementation. Relatively few people would be able to meet those expectations. It requires knowledge of Guile's implementation and compiler that relatively few people have. With that in mind, I hope that you will not be too discouraged by this, and that you will consider contributing to our community in the future. Also, I will try to find the time to send a followup message with more details on why the provided code would run inefficiently on Guile, and how to improve it. Best regards, Mark