From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Taylan Kammer Newsgroups: gmane.lisp.guile.bugs Subject: bug#71300: [PATCH v4] doc: Document SRFI 64. Date: Thu, 26 Sep 2024 21:15:06 +0200 Message-ID: <84f71af5-41eb-44b0-86b1-a73be14f6543@gmail.com> References: <20240601021743.808-1-maxim.cournoyer@gmail.com> <20240915042603.8529-1-maxim.cournoyer@gmail.com> <877cb3hnvr.fsf@wolfsden.cz> <87r096edvz.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="739"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird To: 71300@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Thu Sep 26 21:15:59 2024 Return-path: Envelope-to: guile-bugs@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 1stty2-000AZK-Qi for guile-bugs@m.gmane-mx.org; Thu, 26 Sep 2024 21:15:59 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sttxi-0000x6-KE; Thu, 26 Sep 2024 15:15:38 -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 1sttxg-0000wi-8Z for bug-guile@gnu.org; Thu, 26 Sep 2024 15:15:36 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sttxf-0003au-V4 for bug-guile@gnu.org; Thu, 26 Sep 2024 15:15:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=In-Reply-To:From:References:MIME-Version:Date:To:Subject; bh=KEMc3ezf64bpfwjd7y6EaUplJ/Mzwwzp5TLuNYra0Gs=; b=QiVIrLbons0vpHZWfHCnOnK0PkiCsjn5+dbW0xbBen9rvCxPmMGIHhtrFA9Pl8+WKyWECCb6a53Ad43idSenj31RsHC01p+cBq//YB91gfaHvElHuukKUsKBIr57a5csGRomfRp0XqHeamxSR+mTrCY9j61LtMDKsqZ6VJbYAlnO1jowtV5oGWBvQhLCeZDMAERJBk0wMx/nJHG852vBbihlzs6QgBjHZaOwWwn1BxCxmEXlcpQ44HEqv9fK0dJcQdIpStCL9NEBXTVkpsjsMXdhZD53+EjPTrpTpQUYAqrV1AVhMnduV8G8mtR2V57Jp56u11MRCIEvLMmLjp9lfg==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1stty6-0007Ry-FX for bug-guile@gnu.org; Thu, 26 Sep 2024 15:16:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Taylan Kammer Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Thu, 26 Sep 2024 19:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71300 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.172737814328583 (code B ref -1); Thu, 26 Sep 2024 19:16:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 26 Sep 2024 19:15:43 +0000 Original-Received: from localhost ([127.0.0.1]:50951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sttxn-0007Qw-3R for submit@debbugs.gnu.org; Thu, 26 Sep 2024 15:15:43 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:37688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sttxk-0007Qj-Sw for submit@debbugs.gnu.org; Thu, 26 Sep 2024 15:15:42 -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 1sttxJ-0000jH-2h for bug-guile@gnu.org; Thu, 26 Sep 2024 15:15:13 -0400 Original-Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sttxG-0003Yp-RY for bug-guile@gnu.org; Thu, 26 Sep 2024 15:15:12 -0400 Original-Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-37cd26c874bso85852f8f.3 for ; Thu, 26 Sep 2024 12:15:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727378108; x=1727982908; darn=gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=KEMc3ezf64bpfwjd7y6EaUplJ/Mzwwzp5TLuNYra0Gs=; b=SlTb9kLBgKaOYrNwug2qKnY71Axd41T6TYdvIhNpM63Uxq/Z2ADegmyAi4etXdSS5J M4S3AbFp1+p/4fSfoWUBAxTUzyncweonprwSJYt1DaNMW0r1h9mPN5eGdlHRt0+M8Ixc pU3nkJZ+70Ji2QifiC4wA6mpXkpD2sdjsmV81zgp4nd7g+xTtBoweS5yAA1xu0AysjCZ UVJIpqNnggyUbE/nkCnZsMg95F7XsDwJV83sPotZG+1g+LO4J9yUS+w4b9H3B5KSd36b MEa4R4kD55RkExwAXGig1PWZbBlKC5gDBVS8YfqXmknFkNs/fZ9NFt04D92RqRC4w6n1 Df9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727378108; x=1727982908; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KEMc3ezf64bpfwjd7y6EaUplJ/Mzwwzp5TLuNYra0Gs=; b=RD+yXCJXSg2cJ9P5NTvImz9PYJC8TeROUPo7AixUs+RvJ5Y7pXb3VCIW2Myh/q5STq r71V4NA+bWzJdmwCcOiRzr8VtVIg9saq4/Ow+O5GhFjivAn6RigtEBD+lCZehmWCAbyZ IFFu4+8KEp1poIAeE43rD038JknsxAo5ePErV6VSHIVn5jdulGUxgJ3UR3iTQVjZj8iW aPtSrHOknxtuLxEZtoJYwR9mH+ylAYnMTZ+ORQmPcf4C0Et91wxUmDaWJsT73qvu7nZe +Kkb1sgY0HKNIM9VBu9p+NCN7YbRzksfzMf0ZeURJWgNMb/XRhzZxH9q7EUvqgHKgwW+ M6Eg== X-Gm-Message-State: AOJu0YyAN/AsFFkA8HSLX9b7mqPoqZgAug7g7i8I+0qKDQvGVFDw6Wzn KFgbbERcRXIrKR63KMyP91Ye32tsYbBThDuTpTLtqhQIlnFRQrbOH4v8qpU+ X-Google-Smtp-Source: AGHT+IHPSgVE1dCXB3FxMJ508jSWDN2rWZmcfo/jK7yElJpDjk9TC99q+9k+1BuwwLDEadSNYP53FA== X-Received: by 2002:a05:600c:4686:b0:42c:aeee:e605 with SMTP id 5b1f17b1804b1-42f584aefdfmr1938385e9.9.1727378107826; Thu, 26 Sep 2024 12:15:07 -0700 (PDT) Original-Received: from ?IPV6:2003:106:8f04:c300:b11c:c085:7361:37dc? (p200301068f04c300b11cc085736137dc.dip0.t-ipconnect.de. [2003:106:8f04:c300:b11c:c085:7361:37dc]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42f57e2fe89sm6914165e9.40.2024.09.26.12.15.06 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Sep 2024 12:15:07 -0700 (PDT) Content-Language: en-US In-Reply-To: <87r096edvz.fsf@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=taylan.kammer@gmail.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.bugs:10987 Archived-At: On 26.09.2024 15:35, Maxim Cournoyer wrote: > Hi Tomas, > > Tomas Volf <~@wolfsden.cz> writes: > >> Maxim Cournoyer writes: >> >>> This is an import of the 'Abstract', 'Rationale', and 'Specification' >>> sections from the upstream specification text, with some manual >>> adjustment. >>> >>> * doc/ref/srfi-modules.texi (SRFI 64): New subsection. >> I think important question to ask here is whether this manual section >> documents SRFI-64 or what Guile ships as SRFI-64. Current >> implementation shipped by Guile has many quirks that do not conform to >> the specification. >> >>> +@c This SRFI 64 documentation was "snarfed" from upstream specification >>> +@c HTML document using the 'snarfi' script. >> Based on this I believe it describes the specification. > That's correct. It's been slightly modified in places where it said > things like "left to the implementation" and I was able to verify what > the current implementation in Guix does. > >> I think either of those is fine (albeit describing the Guile's flavor >> would be preferred), but is should be stated (that the behavior > There's not really a Guile flavor; it's more like the reference > implementation flavor ;-). The one in Guile is pretty stock. > >> described by the manual does not match the implementation shipped). > I'd consider different behavior in the implementation compared to the > specification bugs. > Let me once again advertise my implementation of SRFI 64, found here:     https://codeberg.org/taylan/scheme-srfis/ The code is more readable and better structured, has fewer bugs (obeys the specification), and adds a small number of useful extensions, as explained here:     https://codeberg.org/taylan/scheme-srfis/#srfi-64 The output of the default test runner is also a lot more informative, and handles nested test groups. (Prints the entire "path" hierarchy of the current test.) It's also more verbose though, which may be a matter of taste: It prints something for every test executed, whereas the reference implementation (the one used by Guile) only prints something for failed tests. Sadly, the patch I previously sent to Guile for switching to this implementation was ignored, and Guile's R7RS support is still insufficient to use the R7RS SRFI libraries "out of the box." However, for the convenience of Guile users, the latest commit contains the directory "guile-srfi-64" in the repo's root, which contains a copy of the implementation with file naming and module boilerplate that should work with all recent Guile versions. So, you can use it by adding the following to your GUILE_LOAD_PATH:     $scheme_srfis_repo_root/guile-srfi-64 E.g. I can start guile like this, to use it in lieu of the implementation that ships with Guile:     GUILE_LOAD_PATH=/home/taylan/src/scheme-srfis/guile-srfi-64 guile Maybe someone will want to try it out, and push for its inclusion in Guile if they agree that it's a superior implementation. All the best, Taylan