freenode/#lisp - IRC Chatlog
Search
4:04:57
beach
aeth: First-class global environments are not just a small extra feature the way package-local nicknames are. They require a large part of the existing system to be restructured and a lot of the code to be rewritten.
4:06:55
beach
phoe: So I don't think first-class global environments would be represented by a single pull request. If I were to implement first-class global environments in some existing implementation, I would make gradual changes over a long period of time.
4:13:23
beach
Plus, with first-class global environments, there is a (small) performance cost for things like SYMBOL-FUNCTION with a symbol that is not known at compile time. Maintainers of implementations that want maximum performance in all situations would not be willing to accept that.
4:18:45
Oladon
Anyone here used spinneret for HTML templating? I'm trying to figure out the best way to implement nestable templates, and his deftag doesn't seem quite right.
5:52:04
drmeister
Xach: I'm glad - you've probably read this... https://www.nytimes.com/2020/03/22/health/coronavirus-symptoms-smell-taste.html
7:33:31
beach
phoe: Though there is one more advantage. When the code of a Common Lisp implementation is restructured in order to allow for multiple global environments, the code becomes more regular and more independent of the specific details of the implementation.
7:59:08
beach
ear-the-art: It was aeth who asked whether I thought that first-class global environments would ever become part of existing Common Lisp implementations.
8:01:37
beach
Then, phoe said he might someday be willing to merge a PR for CCL in a forked version.
8:03:30
beach
One reason I started the SICL project is that I think the code of existing implementations is often old and hard to maintain. And I think it would be more work to fix that problem than to write a new implementation from scratch.
8:04:11
beach
A new implementation would also be the opportunity to reconsider fundamental design decisions that may have been the right ones at the time but that no longer are.
8:09:25
beach
But it is going to take time to get a new implementation to be as fast and as stable as the most common existing Common Lisp implementations.
8:31:57
no-defun-allowed
Silly compiler question: do jump tables become less effective as the code they jump into becomes larger?
8:39:20
no-defun-allowed
I'm still trying to guess reasons why binary search would be faster than using SBCL's jump tables in my bytecode interpreter.
8:40:22
beach
I think it is very hard to get answers to such questions. It depends on the code generated by the compiler, on the processor architecture, on the processor implementation, etc.
8:56:45
beach
no-defun-allowed: It may be a case that is similar to the comparison between PCL generic dispatch and SICL generic dispatch. PCL uses a table in memory and SICL uses binary search.
8:57:38
no-defun-allowed
Yes, I based the dispatch off SICL binary search (and we have discussed it before).
9:07:10
no-defun-allowed
You had suggested using a jump table yesterday, and I've been eager to test how SBCL handles those, but I haven't had very good results.
9:09:05
Josh_2
Morning all. Does anyone know how I can optimize these 3 functions https://plaster.tymoon.eu/view/1719#1719 anymore?
9:13:49
no-defun-allowed
And please don't use (safety 0) unless you are very certain that nothing can go wrong, and then only in small doses.
9:17:06
Josh_2
Besides, they are the backbone of the system, they need to be performant for the entire system to be performant