Re: CDR for Package-Local Nicknames [Feedback Request]

Tim McNerney <[email protected]> Sun, 7 Jul 2024 10:12:15 -0400
Newsgroups gmane.lisp.openmcl.devel
Message-ID <[email protected]>
--Apple-Mail-86EC0B61-F63D-4F01-B915-25427D2EFFC1
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

Dear Alexander,

Thank you for reaching out to the CCL community. (I am responding in a less-=
than-official capacity because currently CCL has only privately-funded and v=
olunteer maintainers plus enthusiastic users, but no officials.)

I read through your well-thought-out Package Local Nicknames (PLN) proposal.=
 It does indeed look like a useful facility=E2=80=94even one I could see usi=
ng in my own professional work.=20

My main concerns are 1) compatibility across all common Lisp platforms, 2) t=
he maintenance burden on implementers, and 3) the need for a comprehensive t=
est suite. Add to that my wish to see 4) a healthy set of real-usage example=
s and 5) a discussion of how this feature generally impacts implementations (=
i.e. where the necessary =E2=80=9Chooks=E2=80=9D are, and any unexpected =E2=
=80=9Cgotchas=E2=80=9D).=20

The biggest danger of any software development in mature environment(s) is t=
he risk of breaking existing code=E2=80=94in this case the CL implementation=
s themselves and (of course) existing user code. [e.g. should users be able t=
o disable PLNs?]

Have you considered writing a source to source translator that rewrites code=
 using PLNs into ANSI Common Lisp? As I =E2=80=9Cthink out loud,=E2=80=9D (m=
eaning I have not thought about this long) I could imagine a similar, but li=
ghter-weight facility being introduced more surgically (more compatibly and v=
isibly obvious) using a reader extension.=20

To conclude: You have an impressive list of supported implementations. What a=
re the current status and past responses of and outreach to the remaining co=
mmercial vendors and non-commercial maintainers?=20

I look forward to continued discussion.=20

Best regards,=20

--Tim McNerney=20

> On Jul 6, 2024, at 12:55, Alexander Fedorov <[email protected]> wrote:=

>=20
> =EF=BB=BFDear all,
>=20
> Over 10 years ago, SBCL implemented the Package-Local Nicknames (PLNs)
> extension. Since then, PLNs have also been adopted by multiple
> implementations (ABCL, CCL, ECL, Clasp, Allegro CL and LispWorks) and
> are now widely used in many projects.
>=20
> However, PLNs are still considered experimental, as stated in the SBCL
> manual, since there is no formal specification for them, and each
> implementation interprets various corner cases differently. While the
> need for a specification has been previously discussed, I was unable
> to find any publicly accessible draft for one.
>=20
> Therefore, I have drafted a specification intended to become a CDR
> document. I initially wrote this draft about a year ago and have
> recently revised it. You can find the latest version here:
> https://gleefre.github.io/cdr-package-local-nicknames/index.html.
>=20
> There are currently nine unresolved standardization issues, each with
> at least one proposed resolution. Input on those issues would be
> particularly helpful, but any feedback is welcome!
>=20
> P.S. I am sharing this link across multiple platforms to reach as many
> lispers as possible. This includes various mailing lists (Lisp Pro,
> CDR-discuss and -devel for various CL implementations); IRC channels
> (#commonlisp and implementation-specific ones); the Lisp Discord
> server; several Telegram groups; and a post on Reddit. If you have any
> suggestions for additional places to share the link, please let me
> know.
>=20
> My apologies to those receiving this message multiple times.
>=20
> Best regards,
> Alexander Fedorov.

--Apple-Mail-86EC0B61-F63D-4F01-B915-25427D2EFFC1
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto">Dear Alexander,<div><br></div><div>Thank yo=
u for reaching out to the CCL community. (I am responding in a less-than-off=
icial capacity because currently CCL has only privately-funded and volunteer=
 maintainers plus enthusiastic users, but no officials.)</div><div><br></div=
><div>I read through your well-thought-out Package Local Nicknames (PLN) pro=
posal. It does indeed look like a useful facility=E2=80=94even one I could s=
ee using in my own professional work.&nbsp;</div><div><br></div><div>My main=
 concerns are 1) compatibility across <b>all</b>&nbsp;common Lisp platforms,=
 2) the maintenance burden on implementers, and 3) the need for a comprehens=
ive test suite. Add to that my wish to see 4) a healthy set of real-usage ex=
amples and 5) a discussion of how this feature generally impacts implementat=
ions (i.e. where the necessary =E2=80=9Chooks=E2=80=9D are, and any unexpect=
ed =E2=80=9Cgotchas=E2=80=9D).&nbsp;</div><div><br></div><div>The biggest da=
nger of any software development in mature environment(s) is the risk of bre=
aking existing code=E2=80=94in this case the CL implementations themselves a=
nd (of course) existing user code. [e.g. should users be able to disable PLN=
s?]</div><div><br></div><div>Have you considered writing a source to source t=
ranslator that rewrites code using PLNs into ANSI Common Lisp? As I =E2=80=9C=
think out loud,=E2=80=9D (meaning I have not thought about this long) I coul=
d imagine a similar, but lighter-weight facility being introduced more surgi=
cally (more compatibly and visibly obvious) using a reader extension.&nbsp;<=
/div><div><br></div><div>To conclude: You have an impressive list of support=
ed implementations. What are the current status and past responses of and ou=
treach to the remaining commercial vendors and non-commercial maintainers?&n=
bsp;</div><div><br></div><div>I look forward to continued discussion.&nbsp;<=
/div><div><br></div><div>Best regards,&nbsp;</div><div><br id=3D"lineBreakAt=
BeginningOfSignature"><div dir=3D"ltr">--Tim McNerney&nbsp;</div><div dir=3D=
"ltr"><br><blockquote type=3D"cite">On Jul 6, 2024, at 12:55, Alexander Fedo=
rov &lt;[email protected]&gt; wrote:<br><br></blockquote></div><blockquo=
te type=3D"cite"><div dir=3D"ltr">=EF=BB=BF<span>Dear all,</span><br><span><=
/span><br><span>Over 10 years ago, SBCL implemented the Package-Local Nickna=
mes (PLNs)</span><br><span>extension. Since then, PLNs have also been adopte=
d by multiple</span><br><span>implementations (ABCL, CCL, ECL, Clasp, Allegr=
o CL and LispWorks) and</span><br><span>are now widely used in many projects=
.</span><br><span></span><br><span>However, PLNs are still considered experi=
mental, as stated in the SBCL</span><br><span>manual, since there is no form=
al specification for them, and each</span><br><span>implementation interpret=
s various corner cases differently. While the</span><br><span>need for a spe=
cification has been previously discussed, I was unable</span><br><span>to fi=
nd any publicly accessible draft for one.</span><br><span></span><br><span>T=
herefore, I have drafted a specification intended to become a CDR</span><br>=
<span>document. I initially wrote this draft about a year ago and have</span=
><br><span>recently revised it. You can find the latest version here:</span>=
<br><span>https://gleefre.github.io/cdr-package-local-nicknames/index.html.<=
/span><br><span></span><br><span>There are currently nine unresolved standar=
dization issues, each with</span><br><span>at least one proposed resolution.=
 Input on those issues would be</span><br><span>particularly helpful, but an=
y feedback is welcome!</span><br><span></span><br><span>P.S. I am sharing th=
is link across multiple platforms to reach as many</span><br><span>lispers a=
s possible. This includes various mailing lists (Lisp Pro,</span><br><span>C=
DR-discuss and -devel for various CL implementations); IRC channels</span><b=
r><span>(#commonlisp and implementation-specific ones); the Lisp Discord</sp=
an><br><span>server; several Telegram groups; and a post on Reddit. If you h=
ave any</span><br><span>suggestions for additional places to share the link,=
 please let me</span><br><span>know.</span><br><span></span><br><span>My apo=
logies to those receiving this message multiple times.</span><br><span></spa=
n><br><span>Best regards,</span><br><span>Alexander Fedorov.</span><br></div=
></blockquote></div></body></html>=

--Apple-Mail-86EC0B61-F63D-4F01-B915-25427D2EFFC1--