Message ID | cover.1709580311.git.takev@disroot.org |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3426A27BBE2; Mon, 4 Mar 2024 21:05:01 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9949B27BBE9 for <patchwork@mira.cbaines.net>; Mon, 4 Mar 2024 21:04:59 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1rhFU0-0003aO-Ed; Mon, 04 Mar 2024 16:04:24 -0500 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 <Debian-debbugs@debbugs.gnu.org>) id 1rhE28-0002d5-Nm for guix-patches@gnu.org; Mon, 04 Mar 2024 14:31:35 -0500 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 <Debian-debbugs@debbugs.gnu.org>) id 1rhE28-0004rp-FL for guix-patches@gnu.org; Mon, 04 Mar 2024 14:31:32 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1rhE2c-0007rd-6O for guix-patches@gnu.org; Mon, 04 Mar 2024 14:32:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#69552] [PATCH 0/2] Add cyclone scheme Resent-From: TakeV <takev@disroot.org> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 04 Mar 2024 19:32:02 +0000 Resent-Message-ID: <handler.69552.B.170958066830157@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 69552 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 69552@debbugs.gnu.org Cc: TakeV <takev@disroot.org> X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.170958066830157 (code B ref -1); Mon, 04 Mar 2024 19:32:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Mar 2024 19:31:08 +0000 Received: from localhost ([127.0.0.1]:44911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1rhE1j-0007qK-IX for submit@debbugs.gnu.org; Mon, 04 Mar 2024 14:31:07 -0500 Received: from lists.gnu.org ([209.51.188.17]:33650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <takev@disroot.org>) id 1rhE1i-0007qD-68 for submit@debbugs.gnu.org; Mon, 04 Mar 2024 14:31:06 -0500 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 <takev@disroot.org>) id 1rhE1D-0002Xh-W6 for guix-patches@gnu.org; Mon, 04 Mar 2024 14:30:36 -0500 Received: from layka.disroot.org ([178.21.23.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <takev@disroot.org>) id 1rhE1B-0004ic-TG for guix-patches@gnu.org; Mon, 04 Mar 2024 14:30:35 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id BC85440F2F; Mon, 4 Mar 2024 20:30:29 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id izHDlKPeMtC9; Mon, 4 Mar 2024 20:30:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1709580625; bh=zvTzMA0n/sMvREzGmfh0pQWqIicdzXW1dGtPZtMwo8g=; h=From:To:Cc:Subject:Date; b=es4IpCYO4SLOL8qyCjGc+EMLxmX3lu5F7hraRQGxMtSR+sw+YskPpNK1XBMTLN+XK MrGbQFY3p1fKx1h5VtRqB0lntN1Tb9eII1QB5EvgYJtXPyc1e+Sdxr+4ZS4HWRXEar F5myw4wodcxKM4qT0qsYa9uxpGxylcvIFz/T6EuzNcjIYSMr2++2wFWoWbB2P/z+Um 3o+fzbSP5JuGz1xIRASFIpCBO9KBK5SapHpAq6RSMtH3HJIKwyJBAwVht+NLaZkZ2n GAr1xKzm76xGVAmJrCQ8SM+9fr79ymxF2GEsFdQNsaR7OjAjkweUxFskbuJ5bhVTV5 yusth+WK3BbtQ== Date: Mon, 4 Mar 2024 14:29:49 -0500 Message-ID: <cover.1709580311.git.takev@disroot.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=178.21.23.139; envelope-from=takev@disroot.org; helo=layka.disroot.org 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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-Mailman-Approved-At: Mon, 04 Mar 2024 16:04:21 -0500 X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Reply-to: TakeV <takev@disroot.org> X-ACL-Warn: , TakeV via Guix-patches <guix-patches@gnu.org> From: TakeV via Guix-patches via <guix-patches@gnu.org> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Add cyclone scheme
|
|
Message
TakeV
March 4, 2024, 7:29 p.m. UTC
I saw someone wished for cyclone scheme to be added to the guix package repo. It is a R7RS scheme which compiles to c. Seems pretty neat! TakeV (2): gnu: Add cyclone-bootstrap. gnu: Add cyclone. gnu/packages/scheme.scm | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) base-commit: ff3c592710120de2ac05972a85892cdf4b1db101
Comments
Hello, Thanks for this patch! It's always good to get more Scheme into Guix :) From a purely technical perspective, there's nothing wrong with these patches. They build fine, are reproducible, and seem well-enough-styled for all practical purposes. Make sure to run `guix lint` over the patches; I get a couple warnings when I do that locally. As a sidenote, Cyclone fails to build on a supported architecture (aarch64) because the `ck` package fails to build there. Interestingly, it builds fine on 32-bit ARM (armhf). I note this merely for posterity and anyone interested in fixing `ck`. Everything builds just fine on x86(_64). What follows is largely stylistic feedback. First patch: > ;; cyclone is self-hosted. To build it, we require the bootstrapped compiler. I would capitalize "Cyclone" here and elsewhere; it seems to be capitalized in the project's prose about it. Also, this is the "bootstrap" compiler -- the "bootstrapped" compiler would be the compiler compiled with this one. > (synopsis "Install Cyclone Scheme on your machine.") This is inaccurate as this package does not install Cyclone Scheme on the user's machine. Perhaps simply "Cyclone Scheme bootstrap compiler" or "Bootstrap Cyclone Scheme" would work? Synopses are, notably, not meant to be complete sentences and thus should not have final punctuation. > (description "Bootstrap the generate the cyclone scheme compiler") This description is a bit short. I would just combine the first two paragraphs of the project README into one with minor edits to get the following description string: "Cyclone Scheme is a brand-new, R7RS Scheme-to-C compiler that uses a variant of Cheney on the MTA to implement full tail recursion, continuations, and generational garbage collection. This package uses intermediate code generated by compiling the Scheme source files to build and install Cyclone Scheme. The compiler is self-hosting and cannot be built directly on a system without Cyclone binaries installed." Strictly speaking, "brand new" does not need a hyphen, but that's the way the project writes it so I've left it as-is. You probably also want to add a linebreak after `description` so the string starts on its own line; imo this makes the line alignment more esthetically pleasing when complying with the 80-column width limit. Second patch: > ;; the bootstrapped compiler and final compiler share most build reqs "bootstrapped" -> "bootstrap" > (synopsis "Fast R7RS scheme which compiles to C") Capitalize "Scheme." This could also just be "Fast R7RS Scheme-to-C compiler" if you want. > (description > "A brand-new compiler that allows practical application > development using R7RS Scheme. We provide modern features and a stable > system capable of generating fast native binaries.") I would restore the README's full "Cyclone Scheme is a" at the beginning of this; the description can refer to the package in the third person. Also, first-person language should probably be avoided here. "We" in a Guix package description would most directly imply the Guix project; this is inaccurate. Perhaps replace "We provide" with "Cyclone provides." It may also be fruitful to cut the second sentence entirely and enumerate some of the compiler's said features. I would try to modify the language of the second paragraph in the project's README (replacing passive voice with active voice, for example), and/or add a list highlighting some (all would be a bit too long I think) of the "Features" section of the aforementioned README. They seem very proud of the "Cheney on the MTA" algorithm so make sure to highlight it. Other than those stylistic notes, this patch series looks good to me! Thanks, Juli
LGTM!