Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

5
  • I'm not confident enough to post an actual answer but I think special variables are thread local in most CL implementations, so you'd have to set it per thread. Maybe they inherit values from the parent thread so if you set it when the program starts it'll carry over? Commented May 19 at 10:24
  • @Shawn Yes they are thread local in SBCL, but I don't know if there is some mechanism that creates a copy of per thread or how that works. I also don't know how should some "foreign" thread like Slynk know which bindings it has to sett, and more importantly, I don't understand why I can't use them as a closure. I couldn't find anything online that lets me understand what is going on, so I asked. Commented May 19 at 11:27
  • sb-ext:disable-package-locks looks like a code smell to me, is it necessary? I don't see why initialize-invistra should ever be added to the Common Lisp package Commented May 19 at 11:51
  • 1
    You are correct, does not seem to be needed. I just tried. About initialize-invistra, don't take me for the word, but as I understand the code, they use this intrinsic/extrinsic macro tryckeri to make the interface either be a part of the package where it is used, or to live in it's own (external) package. That is how I interpret that idiom, and I see they use it in almost all of theirs libraries (those on s-expressionstas). Commented May 19 at 18:14
  • 1
    @coredump I surely misunderstood your question, sorry. Invistra is an implementation of CL format function. They use it as format implementation in SICL, so that is why they want it become part of CL package. I have re-used (and refactored) Invistra just as a little framework, to do something else, and don't use it that way. I just use it as external package for my needs. I think all, or almost all their libraries, as found on S-expressionistas GH, are used in SICL, and thus they use that little idiom intrinsic/extrinsic. Commented May 21 at 11:46