freenode/#lisp - IRC Chatlog
Search
15:20:30
jcowan
Part of the problem is that CL doesn't allow renaming of either packages or the symbols in them. In better (ahem) module systems, either or both of these may be possible.
15:24:03
heisig
You can also transfer the symbol value, symbol function, symbol plist and all documentation to another symbol via SETF.
15:25:02
jcowan
Passing everything to another symbol doesn't leave the identity visible to compilers, though: (define foo (x) (car x)) might or might not be inlined.
15:29:22
heisig
Oh, right. To do so, you would also have to migrate all declarations and the inline information on that symbol. That is not possible, at least not in portable code.
15:30:07
heisig
But I wouldn't recommend this way of 'renaming' symbols anyway. I just wanted to point out that it is possible.
17:12:54
jcowan
Depends on if you think of it as a symbol (runtime object) or an identifier. In the latter view you are saying "In this scope of code foo (imported from module baz) will be known as bar, but it is still really foo."
19:08:23
aeth
beach: Is there ever a chance that SBCL and CCL get first class global environments or is it too tied to SICL?
19:10:18
beach
I have no control over SBCL or CCL. It is highly unlikely that their respective maintainers will accept that work though.
19:11:27
beach
Maybe, just maybe, after SICL is finished and people understand the value of having first-class global environments it could change.
19:11:52
beach
I'm off to spend time with my (admittedly small) family. I'll be back tomorrow morning (UTC+1).
19:12:19
aeth
I'm just thinking about it being a similar situation to e.g. package local nicknames, which were around for forever, but that most people didn't use until (nearly) everyone supported it.
19:25:20
phoe
If someone implements it, I doubt CCL maintainers will not accept the PR - provided that it doesn't regress anything.
19:28:54
Xach
New things often require good understanding and ongoing maintenance - that can be an incentive not to accept them.
19:32:33
aeth
Xach: New things whose purpose is compatibility with other implementations are probably more likely to be accepted, though.
19:33:21
aeth
I'm surprised no one has ported sb-unicode, with a portable portability library on top, yet.
19:35:46
phoe
Xach: I could someday try hammering the change into CCL once it's there, and writing a test suite for it. And possibly maintain a forked version until the change stabilizes.
19:58:30
Xach
aeth: for some, "compatibility with other implementations" does not always align with "keep implementation maintainable by a very small team and keep customers happy"