From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 22 14:35:46 2018 Received: (at submit) by debbugs.gnu.org; 22 Jun 2018 18:35:46 +0000 Received: from localhost ([127.0.0.1]:60564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fWQuK-00007s-Qv for submit@debbugs.gnu.org; Fri, 22 Jun 2018 14:35:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46833) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fWQuF-00007d-Nd for submit@debbugs.gnu.org; Fri, 22 Jun 2018 14:35:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fWQu9-0002AN-1B for submit@debbugs.gnu.org; Fri, 22 Jun 2018 14:35:30 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54400) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fWQu8-0002AH-Qw for submit@debbugs.gnu.org; Fri, 22 Jun 2018 14:35:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fWQu7-0000Pb-3d for guix-patches@gnu.org; Fri, 22 Jun 2018 14:35:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fWQu3-00029c-Sc for guix-patches@gnu.org; Fri, 22 Jun 2018 14:35:27 -0400 Received: from mail-qt0-x229.google.com ([2607:f8b0:400d:c0d::229]:40536) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fWQu3-00029O-Ee for guix-patches@gnu.org; Fri, 22 Jun 2018 14:35:23 -0400 Received: by mail-qt0-x229.google.com with SMTP id j20-v6so166405qtn.7 for ; Fri, 22 Jun 2018 11:35:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=L5dUsHR3QvvV7IYMLIOXZRdjGnMMIxP9p9r/bET/dPU=; b=eOPGKWhCemy4epwpi+6U8WzAiKvHN7XqkbN0xkquNcvhTdn+bNySIrbUMZVbRN3dhV Kk0Ji5C3gW0ApgUxjEV+zf81YFDuPG3huJPOpSuwDG6fA1CXu3HWdpY5PrNv9XpVnSRj vZz4GIEv9w1KlSaPmAjbm+GXfjoXuhbQzkyEGk3Y1Gd7rNLxX9rgTvE4/+cbvreN9zP7 gP18CElrQh0areVzc/3D4UaeCp24p76AvgGuK+G5/017wTDmMQtAWP1FVUN3ELU9sHZY fJiF8bsfLVm+t+W6zBE6+T9Q7Xg6RKC3nSQaTg3Yn0o5n+Sj68roR2UDBBD/vKItC/OZ J9FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=L5dUsHR3QvvV7IYMLIOXZRdjGnMMIxP9p9r/bET/dPU=; b=Hx9MrPcA3y2Mcf/bJlwKk8KeMvXM26u04EDKIDuP9x3tVXl83qbs0Tf4pXhnlzIoGq KWSeBD5epIhtlpIZETIY6kop/1J8DbeWQh4f26h07HovIRpwXGMX4yHFVbkwz0KTpyO3 zrOdKa2Qs3vDDNkpa4qTCVFfGlnvcg20IZs9bTlCJysCjdAnrgzmJ2uSVjYYdmjbYpf1 j/sOCZ/XR8TvQTYwHd2PXZbQlvFkbGIOkEUuHpUvGi/BUT7okOEJxrwFC6SJslIC8tA+ DV1NCjUXCwls/KRc7kNRBXJDc7B7nYNUr/dic9juTp/dCTJM7WMfUkVqXbbZZRszoVp8 +dgA== X-Gm-Message-State: APt69E3Plw9hwScAAXEvpfiGM1k3JPXRxLMVl7HWEyZtrFakvvZzk/mf J1+WdqXtJ49itnoX04LGDDUjzxcW X-Google-Smtp-Source: ADUXVKKAeTFsfIlZCg4U7N2HJXBjDfm+Zw+Y/SaIukjOPLqTkjCOibM0agWyZYRilPNSZ50Bjxgkyg== X-Received: by 2002:ac8:199a:: with SMTP id u26-v6mr2523976qtj.52.1529692522246; Fri, 22 Jun 2018 11:35:22 -0700 (PDT) Received: from localhost (dyn-209-2-210-232.dyn.columbia.edu. [209.2.210.232]) by smtp.gmail.com with ESMTPSA id k8-v6sm5754393qti.4.2018.06.22.11.35.21 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Jun 2018 11:35:21 -0700 (PDT) From: Adam Massmann To: guix-patches@gnu.org Subject: [PATCH] gnu: Add Stalin. Date: Fri, 22 Jun 2018 14:35:18 -0400 Message-ID: <878t76655l.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Hi Guix, Below is a patch to add the Stalin compiler to Guix. Feedback welcome. Thanks, Adam --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-stalin.patch Content-Transfer-Encoding: quoted-printable >From dbd3395c90aa443a7c6bad9155e6bfc7053bfbf0 Mon Sep 17 00:00:00 2001 From: Adam Massmann Date: Fri, 22 Jun 2018 14:29:23 -0400 Subject: [PATCH] gnu: Add stalin. * gnu/packages/scheme.scm (stalin): New variable. --- gnu/packages/scheme.scm | 78 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index dba5067e9..dbb545532 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -9,6 +9,7 @@ ;;; Copyright =C2=A9 2017 John Darrington ;;; Copyright =C2=A9 2017 Cl=C3=A9ment Lassieur ;;; Copyright =C2=A9 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright =C2=A9 2018 Adam Massmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -356,7 +357,7 @@ mashups, office (web agendas, mail clients, ...), etc.") `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) -=20=20=20=20=20=20=20 + ;; No `configure' script; run "make check" after "make install" as ;; prescribed by README. #:phases @@ -1025,3 +1026,78 @@ the same program, without any interference between t= hem. Foreign functions in C can be added and values can be defined in the Scheme environment. Being q= uite a small program, it is easy to comprehend, get to grips with, and use.") (license bsd-3))) ; there are no licence headers + +(define-public stalin + (let ((commit "ed1c9e339c352b7a6fee40bb2a47607c3466f0be")) + (package + (name "stalin") + (version "0.11") + (source (origin + ;; Use Pearlmutter's upstream branch with AMD64 patches + ;; applied. Saves us from including those 20M! patches + ;; in Guix. For more info, see: + ;; + (method git-fetch) + (uri (git-reference + (url "https://github.com/barak/stalin.git") + (commit commit))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "15a5gxj9v7jqlgkg0543gdflw0rbrir7fj5zgifnb33m074wiyhn")) + (modules '((guix build utils))) + (snippet + ;; remove gc libs from build, we have them as input + '(begin + (delete-file "gc6.8.tar.gz") + (delete-file-recursively "benchmarks") + (substitute* "build" + ((".*gc6.8.*") "") + ((" cd \\.\\.") "") + ((".*B include/libgc.a") "") + ((".*make.*") "")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "ARCH_OPTS=3D-freg-struct-return") + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include-out (string-append out "/include"))) + (invoke "./build") + (for-each (lambda (fname) + (install-file fname include-out)) + (find-files "include")) + (substitute* "makefile" + (("\\./include") include-out)) + (substitute* "post-make" + (("`pwd`") out)) + #t))) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "stalin.1" + (string-append out "/share/man/man1")) + (install-file "stalin" + (string-append out "/bin")) + #t)))))) + (inputs + `(("libx11" ,libx11))) + (propagated-inputs + `(("libgc" ,libgc))) + (supported-systems '("x86_64-linux")) + (home-page "https://engineering.purdue.edu/~qobi/papers/fdlcc.pdf") + (synopsis "Brutally efficient Scheme compiler") + (description + "Stalin is an aggressively optimizing whole-program compiler +for Scheme that does polyvariant interprocedural flow analysis, +flow-directed interprocedural escape analysis, flow-directed +lightweight CPS conversion, flow-directed lightweight closure +conversion, flow-directed interprocedural lifetime analysis, automatic +in-lining, unboxing, and flow-directed program-specific and +program-point-specific low-level representation selection and code +generation.") + (license gpl2+)))) --=20 2.17.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 25 16:36:10 2018 Received: (at 31940-done) by debbugs.gnu.org; 25 Jun 2018 20:36:10 +0000 Received: from localhost ([127.0.0.1]:35304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXYDa-0006qi-Lf for submit@debbugs.gnu.org; Mon, 25 Jun 2018 16:36:10 -0400 Received: from eggs.gnu.org ([208.118.235.92]:44813) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXYDY-0006qV-Q4 for 31940-done@debbugs.gnu.org; Mon, 25 Jun 2018 16:36:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fXYDS-0000Cj-Mv for 31940-done@debbugs.gnu.org; Mon, 25 Jun 2018 16:36:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46263) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fXYDS-0000CK-IQ; Mon, 25 Jun 2018 16:36:02 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=56074 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fXYDS-00081N-83; Mon, 25 Jun 2018 16:36:02 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Adam Massmann Subject: Re: [bug#31940] [PATCH] gnu: Add Stalin. References: <878t76655l.fsf@gmail.com> Date: Mon, 25 Jun 2018 22:36:00 +0200 In-Reply-To: <878t76655l.fsf@gmail.com> (Adam Massmann's message of "Fri, 22 Jun 2018 14:35:18 -0400") Message-ID: <87efgur4cv.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 31940-done Cc: 31940-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Hello Adam, Adam Massmann skribis: >>>From dbd3395c90aa443a7c6bad9155e6bfc7053bfbf0 Mon Sep 17 00:00:00 2001 > From: Adam Massmann > Date: Fri, 22 Jun 2018 14:29:23 -0400 > Subject: [PATCH] gnu: Add stalin. > > * gnu/packages/scheme.scm (stalin): New variable. Another Scheme, woohoo! :-) Applied! I applied the patch, but I added a FIXME about the fact that it=E2=80=99s =E2=80=9Cyogurt software=E2=80=9D as Ricardo says: its =E2=80=9Csource=E2= =80=9D includes C files generated by itself, which are obviously not source code. We try to avoid that, but OTOH we already have the same problem for several compilers, for instance MIT/GNU=C2=A0Scheme. >From the README, previous versions were apparently bootstrapped using a separate Scheme->C compiler. We could perhaps fix the problem by building one of these older versions of Stalin, and using it to build the latest one. Would you like to give it a try? (On this topic, don=E2= =80=99t miss .) Anyway, thanks for the patch! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 25 21:07:46 2018 Received: (at 31940-done) by debbugs.gnu.org; 26 Jun 2018 01:07:46 +0000 Received: from localhost ([127.0.0.1]:35486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXcSQ-0002Oi-8l for submit@debbugs.gnu.org; Mon, 25 Jun 2018 21:07:46 -0400 Received: from mail-qt0-f194.google.com ([209.85.216.194]:45004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXcSN-0002OU-Sh for 31940-done@debbugs.gnu.org; Mon, 25 Jun 2018 21:07:44 -0400 Received: by mail-qt0-f194.google.com with SMTP id 92-v6so9301660qta.11 for <31940-done@debbugs.gnu.org>; Mon, 25 Jun 2018 18:07:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=s2Asy5kWwytmadhY2xkJcuYKZWqqFpoZslXDPR21tt0=; b=sjxJtI6XfmFNT7kJwK9je4ZneFhPt1NWVuTbT1n/3QN9c2qiK0oqa1fWNfJFJqTB4b gLmpES1nxlJ4/55TKiaNMFXCTHtWBNhSnG81wvSZAe2cu/L/VO6kE9BDjyAJ5Gc1Hmwp kFT7Q1r7kWC8CsCqDEjC76xIM7EyeP7eumZbTzMTgbNP6rCy2nEi2mhlnlkuRYmHXFhe 6COcgrupUzB0dUdO6Oxq71m0o01jlzZj/3gdiK3VRnfN7xhc3wyBq4ptIzuuC7mRSasY 1gDBjlIz2S/eac8OEL4HsyszhUYVMNXFH1Lv6aRXo4E0uFGPkSaZeIlJF+EAUnUG+EHl OHew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=s2Asy5kWwytmadhY2xkJcuYKZWqqFpoZslXDPR21tt0=; b=miJeVcuKiIgXsWRETG42cIlrzk43hbTVcnbwBHLSpcoTlt59U3wZUHA4cbTUFEuEE2 YUfdcXvyPuORzFEHGe1S+BIrqh1oE6yqALdCb4Yrhh+/mnpdNaq6rD06cQ1IqKaA/sz7 QXE9WBFGPT/HMbmCc5X0I8zX7SaiWp2oIZA7+BFSPLo1VrMJV16X1uDC++OtnOwndIPn Lly/eX9ANUM/vgSyjFlaYLOAZzc9weuzdThzC55koASSRj0P5RWpIAKg/FCuldQLctM4 FibyXpfovsNLfD6ud38ivBmvUOWW8kzv/jkpEDkoPnP8HHrHNQDMkguS4mQgVinMD5w8 TMgg== X-Gm-Message-State: APt69E3wx9jaKst02FBMd8xuKtI6skiDZBGMv64I2V1LT7wI3Pmauuxd vHpXsmrd34VEDluw64yIjIQ= X-Google-Smtp-Source: ADUXVKK5j7LrZ6sQTk1mhIckgPKaohA1pYnlk1L0zSTB/WFbG+39GDFa83nwLXFwKN9RBgjBfj2KNQ== X-Received: by 2002:ac8:2c69:: with SMTP id e38-v6mr3950121qta.266.1529975258261; Mon, 25 Jun 2018 18:07:38 -0700 (PDT) Received: from localhost (dyn-160-39-62-152.dyn.columbia.edu. [160.39.62.152]) by smtp.gmail.com with ESMTPSA id t17-v6sm352704qth.10.2018.06.25.18.07.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 25 Jun 2018 18:07:37 -0700 (PDT) From: Adam Massmann To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [bug#31940] [PATCH] gnu: Add Stalin. References: <878t76655l.fsf@gmail.com> <87efgur4cv.fsf@gnu.org> Date: Mon, 25 Jun 2018 21:07:29 -0400 In-Reply-To: <87efgur4cv.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 25 Jun 2018 22:36:00 +0200") Message-ID: <87y3f2we26.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 31940-done Cc: 31940-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > I applied the patch, but I added a FIXME about the fact that it=E2=80=99s > =E2=80=9Cyogurt software=E2=80=9D as Ricardo says: its =E2=80=9Csource=E2= =80=9D includes C files > generated by itself, which are obviously not source code. We try to > avoid that, but OTOH we already have the same problem for several > compilers, for instance MIT/GNU=C2=A0Scheme. > > From the README, previous versions were apparently bootstrapped using > a separate Scheme->C compiler. We could perhaps fix the problem by > building one of these older versions of Stalin, and using it to build > the latest one. Would you like to give it a try? (On this topic, > don=E2=80=99t miss .) Thanks a lot for the code review and feedback - it's very helpful for me as I learn. At first glance I think in this case, as you point out, we should be able to use Scheme->C to generate the C files explicitly in the build process. Also, some of the documentation suggests that upstream *might* maintain a Scheme->C version for v0.11 and be willing to share it, which would make it even easier. I put it on my TODO list to dig in and try to fix it, but realistically might not get to it until August due to work. Bootstrapping the build should also extend the package to other architectures, which was something I also wanted to do at some point. > Anyway, thanks for the patch! Thank you! From unknown Mon Aug 18 11:26:01 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 24 Jul 2018 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator