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.devel Subject: Are library names data or syntax? Date: Mon, 22 Jul 2024 10:12:48 +0200 Message-ID: References: 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="22191"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: Maxime Devos , Lassi Kortela , Arne Babenhauserheide To: =?UTF-8?Q?Marc_Nieper-Wi=C3=9Fkirchen?= , guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Mon Jul 22 10:13:46 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 1sVoB0-0005h3-7f for guile-devel@m.gmane-mx.org; Mon, 22 Jul 2024 10:13:46 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sVoAH-0004lO-Rg; Mon, 22 Jul 2024 04:13:01 -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 1sVoAG-0004jk-1U for guile-devel@gnu.org; Mon, 22 Jul 2024 04:13:00 -0400 Original-Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sVoAD-0002pl-Uk for guile-devel@gnu.org; Mon, 22 Jul 2024 04:12:59 -0400 Original-Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-5a2a90243c9so2952171a12.0 for ; Mon, 22 Jul 2024 01:12:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721635973; x=1722240773; darn=gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=6iodOrqhwnVgnvN4wNU8IEvWO3y9lHzMKtGYr4oH8N8=; b=Jp58Frozl/wyVt1OoNT+uZaFvLI19Ja5jQFlK0V8jnKf01tm/l0+T/xV4bH9TalWLJ N2pVQhc0MAzJlyyIDDgJfdBfjh5hvlN705QvudosMr+Q3ZMClyuwzUDoubDilfHpBGib fJnVoYdaeV6ScHg7myun3cnuoe9iqaxUQ91J+JTpTOiGBOOkC6jdFSkhjJio3Bt3IwvM FmHrnn3vFuDu7R/mapn0ejQFTOfWMXRqCdl4bVAPqz31aJFWKU/Fpepek6J0F7sZ+ptR sG+qaUusT6cduitb6jF55+iRFoiuvFamW46NNDYhDhXVxHWx2Oy/fMamHgz4Eh0Gmqu/ AezQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721635973; x=1722240773; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6iodOrqhwnVgnvN4wNU8IEvWO3y9lHzMKtGYr4oH8N8=; b=UCndPLdv/gqHLPUatq8sz5u9fRAMlDNgyXfEr6+eCoWaA5RUvOscdHHU6vAULu4oMg bXb40BZTb85MFPMCDjtps12x13353JtL1PNevMBTcZxORrlcxQLLiklgd7kTd6AM7V7K juW4ZB9ib9fC+Fvp8pdCBwCMHDBz/bUD0UjSjtkdpQkzdaPa0VoLhn3RfPldhJ30rgAb 3L2Az1goMtfE61WYQv2BUk6hOLlr8StrF2GU3+BR5mOvFGhr+B86QPi5qKZ7lDfJJjcb v3RUiYdnf92fGqlPapH8rTrg+m5UTXmE+AOhv8J/lY7LRJpas9UjFzGV5N4SqsHgPx7n nplw== X-Forwarded-Encrypted: i=1; AJvYcCXt25irB/mAXP/E7SdixqSWyaCHBflXu/4xmiFJ5Ow9Rr5HJRjWg9OYfSPP4KXfYURgAsxuHqBp9VhV8/R9lFusZ3kx X-Gm-Message-State: AOJu0Ywr34znD+VUteu7GvgdlyQ/r01wFIkR0b4TEx0lzGPM8tbF7Yyq x8pXJKdAtHKkNbTUpiAg7p/0ZZlxaeV4WsDnnxNRiRYqiHR9BHqV X-Google-Smtp-Source: AGHT+IE/bksq9q47Kvk3N8Lu28wLUBVpGgORn2VCZjdXcx43z+Qpipul1tZIaoBlSSIMoaD+sSavHA== X-Received: by 2002:a05:6402:358d:b0:57c:c3aa:6c68 with SMTP id 4fb4d7f45d1cf-5a479a6a16bmr4432879a12.20.1721635972812; Mon, 22 Jul 2024 01:12:52 -0700 (PDT) Original-Received: from ?IPV6:2003:106:8f00:2c00:917a:3f58:79f4:47bd? (p200301068f002c00917a3f5879f447bd.dip0.t-ipconnect.de. [2003:106:8f00:2c00:917a:3f58:79f4:47bd]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5a30aaa2d5esm5752065a12.30.2024.07.22.01.12.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Jul 2024 01:12:52 -0700 (PDT) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=taylan.kammer@gmail.com; helo=mail-ed1-x52f.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, RCVD_IN_DNSWL_NONE=-0.0001, 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:22629 Archived-At: Thank you for the comments. I agree especially with the part about RnRS needing to define a broad-ranging standard that allows writing useful libraries in a portable way. The lack of e.g. networking primitives is extremely limiting and this always greatly bothered me about RnRS. I have questions about your point #4 though. On 21.07.2024 11:54, Marc Nieper-Wißkirchen wrote: > Allowing numbers in library names makes certain syntactic extensions (as some found in Chez Scheme) impossible. Do you have a pointer to some resource that explains this in more detail? It's the first time I'm hearing about it and would like to learn more. > In the syntax-case model of R6RS (which is also the basis of Guile's expander), only identifiers like ":1" carry lexical information (a set of marks and substitutions in the R6RS model), numbers and other Scheme datums do not. I've always thought of library names as data, not identifiers... In R7RS, both 'define-library' and 'import' kind of exist "outside" the rest of the language, in a sense, and treat library names as literals. - 'define-library' must be the outermost form read from a file/stream/whatever, and neither the library name being defined nor any of the library names in 'import' sub-forms are subject to variable lookup or any such mechanisms that otherwise affect Scheme program evaluation; the library names are all treated literally, like data. - 'import' (when not used a 'define-library' subform) must appear one or more times at the start of a sequence of forms read from a file/stream/whatever that describes a program, and the library name operands are again not subject to variable lookup or such, but rather treated literally as if data. - The only other entity in R7RS that deals with library names, if I remember correctly, is the 'environment' procedure, which expects library names in the form of data (lists). In what kind of situation might a library name be made up of identifiers (syntax objects) that might need to carry lexical information? Cheers, - Taylan