Hello, Off the top of my head, the main differences are in the standardization issues, more specifically issues 2 -- PRINT-READ consistency, 8 -- Interaction with FORMAT (this is about the tilde slash ~// directive) and 9 -- Empty string as a local nickname. The last one actually is not very related to PLNs, but rather can be viewed as a separate issue, see the recent WSCL issue: https://github.com/s-expressionists/wscl/issues/63 .
Thanks for the link to the documentation, I'll take a closer look :) Best regards, Alexander Fedorov On Sat, 6 Jul 2024 at 22:04, Duane Rettig <du...@franz.com> wrote: > > -------- > Date: Sat, 6 Jul 2024 18:56:15 +0200 > From: Alexander Fedorov <varedif....@gmail.com> > > Dear all, > > 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. > > 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. > > 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. > > 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! > > 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. > > My apologies to those receiving this message multiple times. > > Best regards, > Alexander Fedorov. > > Alexander, > > I have not read this specification draft, but when asked for plns by a > customer I found it easy to implement years ago with little > controversy from my point of view, even on top of our Hierarchichal > Packages implementation. The only discrepancy I had found (which > might now be corrected, since it was in 2019) was that sbcl's > documentation described plns as not being abot to co-exist with > global names. I made the assumption that the documentation was either > incorrect or out-of-date, based on my experiments with plns in sbcl as > I was implementing them in Allegro CL. > > The documentation for Allegro CL has been available since the > implementation was provided in a patch for 10.1, and the current > description is here: > > https://franz.com/support/documentation/current/packages.html#local-nicknames-1 > > Hopefully there are not too many conflicts with your proposed spec. > > Duane Rettig