freenode/#sicl - IRC Chatlog
Search
2:54:58
beach
"It is named a shell because it is the outermost layer around the operating system kernel."
9:04:07
beach
frodef: Multics did not use the idea that every user has a virtual computer, at least not in the sense of a linear address space starting at 0. Multics used "segments" that were fixed-size arrays and that were pages. A Multics virtual address was a pair [segment-number,offset]. Unix, on the other hand did use that idea. Probably because they had to. The first computers it ran on, did not have a memory management unit.
9:06:47
beach
frodef: But, yeah, Multics used processes to separate users from one another. Virtual addresses were 18+18 bits, so there were not enough addresses for everyone to share the same address space. Therefore, virtual addresses were not valid across process boundaries, just like with Unix.
13:35:57
beach
Do you know whether SBCL optimizes TYPEP with a constant atomic type specifier according to the idea that Bike had this morning (UTC+2)?
13:37:20
beach
Basically do the same thing as with SLOT-VALUE, i.e. turn (TYPEP ... 'TYPE) into a (TYPE ...) where TYPE is a generic function.
13:38:32
beach
In SICL, it would be more like turning it into (funcall (car (load-time-value (find-typep-function 'type))) ...).
13:38:39
scymtym
i don't think SBCL ever does that. i had that idea as well when i tested the fast-gf-like thing for SBCL
13:39:24
scymtym
since the benefits over independent TYPEPs would be even more substantial (i would expect)
13:40:53
scymtym
but i may have assumed more general decision trees for that case, now that that i think about it
13:42:01
beach
As I pointed out, the TYPEP thing is often done manually: (defgeneric foop (x) (:method (x) nil) (:method ((x foo)) t))