From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Tim Van den Langenbergh Newsgroups: gmane.lisp.guile.user Subject: Re: Guile Steel: a proposal for a systems lisp Date: Mon, 11 Jul 2022 13:13:29 +0200 Organization: Linux Private Site Message-ID: <875yk3u9av.fsf@terra.tmtvl.info> References: <87v8s6xpnq.fsf@dustycloud.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39172"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: mu4e 1.8.5; emacs 28.1 Cc: guile-user@gnu.org To: Christine Lemmer-Webber Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Jul 11 14:24:56 2022 Return-path: Envelope-to: guile-user@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 1oAsT9-0009x2-Oi for guile-user@m.gmane-mx.org; Mon, 11 Jul 2022 14:24:55 +0200 Original-Received: from localhost ([::1]:44984 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oAsT8-0003Pm-KS for guile-user@m.gmane-mx.org; Mon, 11 Jul 2022 08:24:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45432) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oAsSv-0003PU-4s for guile-user@gnu.org; Mon, 11 Jul 2022 08:24:41 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]:48493) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oAsSt-0001O9-6m for guile-user@gnu.org; Mon, 11 Jul 2022 08:24:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1657542273; bh=ysOUznPf2ADALCGEp4MjAN9lBkkpg38QhgoNCqXHeec=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=C8UbLDkK746Rriu93mBFPwUE7h4o7blsS5zAHWKCHGs7fj3OXIVOIG5dM6OLGfYtC +7totKvl+X+KJGiIRmxrJFMD8v7P97irJ5l8vf55FrhFl/xE9B+1g1Ky2WghNabqXx 0f0wSGktPwW7Q5906rO8OMUy89miVf8mOEGCBi80= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from terra.tmtvl.info ([94.227.125.226]) by mail.gmx.net (mrgmx005 [212.227.17.184]) with ESMTPSA (Nemesis) id 1MdvqW-1nbGCN0ir0-00b3x9; Mon, 11 Jul 2022 14:24:33 +0200 In-reply-to: <87v8s6xpnq.fsf@dustycloud.org> X-Provags-ID: V03:K1:FGKBtpim88MqXXJftJ0tMigsPAU2EbbElL7pMo0CVgTPN58NnPq /P3AohvA1BsBADpQ/ENSXEIAfIQ9/p1sQVxKJTLh0z3XUXrXH04NJVDtgpr47ySNfkJGN5A qli6sjuVsSLGxwMMemTvIV2HweAdJMinFHDtxJqVKOh/TSknvm6Lw7a2WHPDu7V65D5jfkW 41MqY647CCC2nUBOqsp4Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:HGbrIov0O6E=:rRsD/pybdtRPqIo9wKJ89B 9oWh9iyahB4hHsuB1R+9o3x12XPAijDwgfQXcLMo84UeasQhJ9KQnEMObiAfYAPn9Mtn47Ley rOVTCnTKJZF7TEX+clrE2N6MLrMBjocGnqplaZn1nP9ifyMJk5yvLZGt656YAAIdCdHlYvVcE Pjnkuj0av9NDjm6HKmF3AAn6cwCEO9xD2xUbN92xZHSc3oITklRKGkB8PjbrfQSoESwlIyKZA Kuk4wVfYHOPQ+r66xjEWqlZy7XB+WwGXSsynJqsI/mRBjoDpGlBg8IJiJaYgj4p8i4CORONik ZL4BVeR9GLSA20N8BBu5nPdeVwGXcnHTTGQGqA+HQsCZ2n0ZMoyp47NhKMPmkHigmfFT8hDBB Okeo3K/DKW2eKsAPKyxs+tfuSGhvOk3QLIqKWF6LT9jsC2lbDZxdqgeKBM5VD67ICu6LXJkPP qvzmk6sJsVpdytu3WIucVoDCKqlI7sm2x0jhgLKqwOlSw1TpzvFp3CITd59pn5g0ppa4BXbRm gmBMQ8ywp0WQAkpLbVubN4HpXRTelT9t7nuWiyII1S8NHXbVDNcqS2w5AlMOYqtySSQhA0zGG enL+d9XnyTSHGhwkBJq4prW/yctRJMpfP5zMlQvlh2bUMjXPgPPt5Deg9Egc+zbTHH+Ch8dtO wMar91bmcdDdJ3EyjpAk6j6ujmjKwlAGxSIFjnjr7fcszdLfsLg2yXJGXbKRW9Bo3spN7W7SI yzxmoTheUVy0t0b453iYWTxeMff8ZwYwsX0bF7XrNhdSVOxxeN/gZBQKsPbfuGPebufbYWYm Received-SPF: pass client-ip=212.227.15.15; envelope-from=tmt_vdl@gmx.com; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18415 Archived-At: Christine Lemmer-Webber writes: > A little blogpost this morning, not actual software, but software > desiderata: > https://dustycloud.org/blog/guile-steel-proposal/ > > I'd love to see something like the above happen. I'd love to help make > it happen. So this is more of a call to arms than anything else. > > Can we have a "systems lisp"? Can we do better than Rust? Let's put > some interesting things on that compiler tower of ours! Dear Christine, creating a Lisp-inspired systems programming language is indeed an interesting idea, I have also been thinking about something similar (though I wasn't thinking of tying it to Guile in any way). Your talk about propagators is also quite interesting, it may take me a lot of mental processing power to map them to "hey hardware, give me this many bytes on the stack"-style output, I ought to play around with them over the weekend. My own thoughts on a systems programming language primarily revolve around stealing interesting ideas from other projects: taking some notation from Cakelisp and Coalton, parts of the type system from Coalton and Rust, the memory management from Rust,... As I am a big fan of the GNU project I was thinking of targetting GCC's GENERIC as an initial compilation target, though I am aware that a lot of projects seem to prefer LLVM instead. Unfortunately it seems like GCC's documentation doesn't match up well against that of LLVM, so adding some advanced functionality may take some code reading (or putting GCC through GDB, that could be fun). The part of designing a language for systems programming I dread most is getting the predictability right. Being able to tell in advance what gets allocated on the stack, what on the heap, what gets freed when is very important. Of course manual memory management has been a major cause of bugs, so having the language manage it properly is of prime importance, which makes it hard to get the predictability right without hampering the ergonomics of the language. I am looking forward to reading your further thoughts as you start tinkering around with the idea. The Lisp revolution could use another stride forwards. Vale, - Tim