From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Marc_Nieper=2DWi=C3=9Fkirchen?= Newsgroups: gmane.lisp.guile.devel Subject: Re: Are library names data or syntax? Date: Mon, 22 Jul 2024 23:14:22 +0200 Message-ID: References: <20240722204721.qinL2C00T2kuPDg01inMky@xavier.telenet-ops.be> <875xsxi1d1.fsf@web.de> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000000d9da1061ddc88ff" Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27663"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Maxime Devos , Taylan Kammer , "guile-devel@gnu.org" , Lassi Kortela To: "Dr. Arne Babenhauserheide" Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Mon Jul 22 23:15:44 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 1sW0Nk-00072U-97 for guile-devel@m.gmane-mx.org; Mon, 22 Jul 2024 23:15:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sW0Mh-0003fc-Ow; Mon, 22 Jul 2024 17:14:40 -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 1sW0Mf-0003be-FC for guile-devel@gnu.org; Mon, 22 Jul 2024 17:14:37 -0400 Original-Received: from mo4-p01-ob.smtp.rzone.de ([81.169.146.166]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sW0Md-0006SM-Bn for guile-devel@gnu.org; Mon, 22 Jul 2024 17:14:37 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1721682873; cv=none; d=strato.com; s=strato-dkim-0002; b=ptK+PkuQYp4mID6+PeoC0w5NOgbmK6vvJFbnllRtCGq8pQCrpUlYWROmZrYnlDIWPo +pwnC27oXoqQRuVFrVkVhtx0xZO4tc5bYKAvWRxK38n91BnAMg3tojVIAmKJvRcVkxaM AtWkK+PpxuV/KGvySOZcNzdFcqCePCoGZ7WiVI4RBVexpAN62FhnMePNuloDzhJ7EwHe /2mh84IMKiqnMfJD9KsFI2mSwEvdRjAPw8FWQsVE8JKBtJkLUPgGp0+M5Fg9H7d/3DLE sj3lrxAloySQY0V+0ObsG5swGweeDVap2i8E2A9F1lIEtE8qQzaXuDFa+TDcDKBn6kU6 H/6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1721682873; s=strato-dkim-0002; d=strato.com; h=Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:Cc:Date: From:Subject:Sender; bh=gis3TtP9FrLkgRo9NeUpfKR6AmMQw5frPk5ACiBVpLY=; b=iKwzH4VUFAzx7kDF/SIFceNEGwiMfUNawzLE71vnsotzB2vlaFlDw8dRpD1YBjWy4f EAkFyafa7MMenEpmNNLj3l6pAXgmFp04Sq/p3ylWebEI+HhYm7PukuLSCrRyW66zVKly dre4VK9epuJLDZeYFPTimCAgSEP35KabMZGtKgkBHjk6xAe5/L3KgbiEhqVSyLErBpAn 1/joFhtVHlI5jP/n3TqcQo5HU0xoTC9003Pzw05XXkn+GDdFTVd0meJqXbpJNdXSzLwC yk2Thd2pl+tyowbyOS57sB0uwQBIMGryP48ZuDKgdK0CJ/ExYLO4lmltxXOZMPoZXwcV gtVQ== ARC-Authentication-Results: i=1; strato.com; arc=none; dkim=none X-RZG-CLASS-ID: mo01 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1721682873; s=strato-dkim-0002; d=nieper-wisskirchen.de; h=Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:Cc:Date: From:Subject:Sender; bh=gis3TtP9FrLkgRo9NeUpfKR6AmMQw5frPk5ACiBVpLY=; b=iESqAWPun976OGmh6nuG6+UwTLZxHIY4izuTJFyYuZb156xhpCRsPyuE8JrhhIAlHp bNnY8gxOiDpX/bDvaY+VvCeldPGMqlJyjf5XwhaZ8Eyc0n8R17wKvnbLqEaW51e9Gze7 +3yxiH7lFj7d7qufpSEBh7xEDE/3rS+D9g0BtMgn9QlBZUIiXGvpus/ZVmbeW9A2nBza joMKaoubuyBeyGUQGX47pE7opS2/6ylD0YcdwxkcME6ytjDzfQ/RTqcDni7T1PEwqNUJ M5MsNNRlQ8ujvkjeGsrWPd30xtMKZ7A2wAM1ogjS/Ds0/uaD666LGFQZ1WLet3/rE7zL vGIw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1721682873; s=strato-dkim-0003; d=nieper-wisskirchen.de; h=Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:Cc:Date: From:Subject:Sender; bh=gis3TtP9FrLkgRo9NeUpfKR6AmMQw5frPk5ACiBVpLY=; b=06K0A9TycAiyHHsNI4pnRaaj5NPyMrJlIjTerrxcoKjDuqq61DbPDKBW1B1pXQmQrA 5iCEYI6JGdN4dj1tZzAA== X-RZG-AUTH: ":IW0WdmCmcvpIrP2+VJuPtIhjJvc4Ig+QdhX22iZVwSDOx4Kp3cYsBVGy6CZgmO/guIaJUM157p01" Original-Received: from mail-lf1-f48.google.com by smtp.strato.de (RZmta 51.1.0 AUTH) with ESMTPSA id nba51506MLEX0mG (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits)) (Client did not present a certificate) for ; Mon, 22 Jul 2024 23:14:33 +0200 (CEST) Original-Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-52efd8807aaso2758552e87.3 for ; Mon, 22 Jul 2024 14:14:33 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCWZq+OPKGNZrdnq1C57V1o5RozJ3rKxvaU9p9pJH6kqg/NUOf1f3lYcGkxH/VtdaG2AzPDsz1ZhkRbWThFM+p/fdcnl X-Gm-Message-State: AOJu0YyPVE8nawffbp5q412ysmnUpyiBv0E68SVNwlQEyrC287ogiwbW OtoTtTk1ACMn63Sl5QDx0e8PcT4R9coKaEiEcwLkRu8TodxHF+T0kNeT8hCMv16VK9kqx0fqtpf a1kz9QfbY2xevaUm7m9qa3E8H9bg= X-Google-Smtp-Source: AGHT+IGYcCGrUB8qSLlXXZz70h5IaLCi9uCEYD2eIxyAloFwkzQGSjICZQc4zwLwAg6WohihkVZzWxAUmezpawMPaio= X-Received: by 2002:a05:6512:e99:b0:52e:fcd0:241f with SMTP id 2adb3069b0e04-52efcd024f0mr5174760e87.29.1721682872863; Mon, 22 Jul 2024 14:14:32 -0700 (PDT) In-Reply-To: <875xsxi1d1.fsf@web.de> X-Gmail-Original-Message-ID: Received-SPF: none client-ip=81.169.146.166; envelope-from=marc@nieper-wisskirchen.de; helo=mo4-p01-ob.smtp.rzone.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=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:22642 Archived-At: --0000000000000d9da1061ddc88ff Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Arne, you may want to take a look at Chez's "module" syntax, see [1]. It is orthogonal to our discussion about library names, but it may be what you have in mind for your specific use case. A module is like a library but is bound to an identifier, not to a library name. Marc -- [1] https://cisco.github.io/ChezScheme/csug10.0/syntax.html#./syntax:h5 Am Mo., 22. Juli 2024 um 23:05 Uhr schrieb Dr. Arne Babenhauserheide < arne_bab@web.de>: > Maxime Devos writes: > > * hence, you can define a module from within another module (might be > > situationally useful, but comes with new difficulties for module > > lookup) > > I actually tried something in that direction in enter three witches =E2= =80=94 > and failed. > > I wanted to add a macro that maps > > SCENE I > > to defining a module that cleanly separates different parts of a story. > > But I didn=E2=80=99t get that to work well (because it would have had to = add > automatic exports and canonical imports and all together caused more > problems than it solved. > > Or maybe I didn=E2=80=99t understand well enough what I was doing. Genera= ting > code that generates modules isn=E2=80=99t a good idea if there=E2=80=99s = a similar > option that uses standard mechanisms. > > Best wishes, > Arne > -- > Unpolitisch sein > hei=C3=9Ft politisch sein, > ohne es zu merken. > draketo.de > --0000000000000d9da1061ddc88ff Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Arne, you may want to take a look at Chez's "module" synta= x, see [1]. It is orthogonal to our discussion about library names, but it = may be what you have in mind for your specific use case. A module is like a= library but is bound to an identifier, not to a library name.
=
Marc=

=
--

=
Am = Mo., 22. Juli 2024 um 23:05=C2=A0Uhr schrieb Dr. Arne Babenhauserheide <= arne_bab@web.de>:
Maxime Devos <maximedevos@telenet.be>= ; writes:
> * hence, you can define a module from within another module (might be<= br> > situationally useful, but comes with new difficulties for module
> lookup)

I actually tried something in that direction in enter three witches =E2=80= =94
and failed.

I wanted to add a macro that maps

SCENE I

to defining a module that cleanly separates different parts of a story.

But I didn=E2=80=99t get that to work well (because it would have had to ad= d
automatic exports and canonical imports and all together caused more
problems than it solved.

Or maybe I didn=E2=80=99t understand well enough what I was doing. Generati= ng
code that generates modules isn=E2=80=99t a good idea if there=E2=80=99s a = similar
option that uses standard mechanisms.

Best wishes,
Arne
--
Unpolitisch sein
hei=C3=9Ft politisch sein,
ohne es zu merken.
draketo.= de
--0000000000000d9da1061ddc88ff--