From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lassi Kortela Newsgroups: gmane.lisp.guile.devel Subject: Portable imports Date: Sat, 20 Jul 2024 21:42:37 +0300 Message-ID: <04293f0f-3a83-4ebc-8413-1a936caaeb57@lassi.io> References: <20240629002027.13853-1-richard@freakingpenguin.com> <87h6co21qv.fsf@laura> <87r0bsxpoe.fsf@web.de> <4d9d9c2e-0830-4267-b8e5-1a50cb815508@msavoritias.me> <87a5ifyd0g.fsf@web.de> <20240719104617.pLmG2C00D4SnA1G01LmG1n@andre.telenet-ops.be> <87wmlgkyix.fsf@web.de> <15398dda-cb3e-4195-b2f8-263a59a73c68@lassi.io> <8734o4kte6.fsf@web.de> <4cc59aa4-755f-4dd3-a3b6-5d5d5edda053@lassi.io> <87plr8jcba.fsf@web.de> <20240720181139.psBf2C00D09gYMG06sBfG5@michel.telenet-ops.be> <87h6ckjagd.fsf@web.de> <20240720184755.psns2C00E09gYMG01snsiP@laurent.telenet-ops.be> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38226"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: Attila Lendvai , Greg Troxel , MSavoritias , "guile-devel@gnu.org" To: Maxime Devos , "Dr. Arne Babenhauserheide" Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Sat Jul 20 20:43:29 2024 Return-path: Envelope-to: guile-devel@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 1sVF3I-0009mN-Q9 for guile-devel@m.gmane-mx.org; Sat, 20 Jul 2024 20:43:29 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sVF2l-00025K-Kx; Sat, 20 Jul 2024 14:42:55 -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 1sVF2k-00024u-Fq for guile-devel@gnu.org; Sat, 20 Jul 2024 14:42:54 -0400 Original-Received: from mail-108-mta242.mxroute.com ([136.175.108.242]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sVF2i-00047u-T5 for guile-devel@gnu.org; Sat, 20 Jul 2024 14:42:54 -0400 Original-Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta242.mxroute.com (ZoneMTA) with ESMTPSA id 190d174276100017a3.001 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 20 Jul 2024 18:42:48 +0000 X-Zone-Loop: 1e29cc8ee0665ebe23876339b71f31c864bdba394c2f X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lassi.io; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc: To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=71CfcA2cmE3V4azPJmt7Ch9gcsJgkBNW4GUf2/u6oYk=; b=EMBcQu4YoyOOWk8thKyrPNYdy/ 8obeppribcj1vJjf34ayZt8D06crXBhbups2dn3LTE+4NWtS6eWwlZhVQIL/42nf++SukhcZbNlHH SdvyrlN0ORtzlJ7g9dl+R980UVSyVii+BZAQFeabt44jN3fE2poaDok4/a5bNjf2XFdLMWhfXg59/ 7njx3io3wZe9pS3KKWmMzOIr5TVJOhh4CnSGI/6Tq84KevlCrCjkwGb8gDj6cMgwHZ1ErZcgEabDS lyrZ4HFW7ionSIZn907bLh++y4WQ3wCKI7w0T+3rwAMEttxGlsS/XJ2kozdGt2WsEytviXz4DS4eZ ZxF2VQiw==; Content-Language: en-US In-Reply-To: <20240720184755.psns2C00E09gYMG01snsiP@laurent.telenet-ops.be> X-Authenticated-Id: lassi@lassi.io Received-SPF: pass client-ip=136.175.108.242; envelope-from=lassi@lassi.io; helo=mail-108-mta242.mxroute.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.devel:22611 Archived-At: > I don’t know if ‘(import ...)’ is standard either (sure it is as part of > ‘define-library’, but I didn’t find it on its own in r7rs.pdf), (import ...) is standard in both R6RS and R7RS, and supported by every serious implementation of those standards. Please spread it. R7RS talks about "programs" and "libraries". These are technical terms with precise meanings. A "program" corresponds to your typical Scheme script. IIRC it _has_ to start with (import ...). A "library" is a (library ...) [in R6RS] or a (define-library ...) [in R7RS]. You can type (import ...) inside either. > > https://srfi.schemers.org/srfi-97/srfi-97.html: > > >A SRFI Library can be referenced by number, as in > > >(srfi :1), > > (srfi 1) is problematic, since ‘1’ is not an symbol (#{1}# is, but > that’s not what has been choosen in SRFI 97). In R7RS non-negative integers can be library name parts. Since these library names look natural, it would be good to backport this to R6RS implementations. The colon causes endless grief when mapping library names to file names. For example, look at all the %3a in https://github.com/arcfide/chez-srfi. That's not even the worst of it.