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. </div><div><br></div><div>My main= concerns are 1) compatibility across <b>all</b> 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). </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. <= /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. <= /div><div><br></div><div>Best regards, </div><div><br id=3D"lineBreakAt= BeginningOfSignature"><div dir=3D"ltr">--Tim McNerney </div><div dir=3D= "ltr"><br><blockquote type=3D"cite">On Jul 6, 2024, at 12:55, Alexander Fedo= rov <[email protected]> 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--