freenode/#sicl - IRC Chatlog
Search
6:54:39
frodef
beach: security based on preventing pointer arithmetics by way of a trusted compiler, has been my conclusion too.
7:09:13
beach
Sorry, was away. Monday mornings are crazy around here. Now I should be around a bit more.
7:13:21
beach
Now, since CLOSOS depends on having a Common Lisp implementation with first-class global environments, I must finish SICL first.
7:31:52
beach
Things are a bit involved because of some fundamental decisions I made, and the purpose of which were to give me a more maintainable system.
7:34:41
beach
I firmly believe that the system code is simpler because of the way I decided to do it, i.e. start by building the MOP classes and generic functions.
7:38:07
no-defun-allowed
i can't do the approximately equal sign but CON~= (CONSS with S's rotated) was one in mind
7:41:33
no-defun-allowed
beach (IRC): tbh an urban dictionary post with only two upvotes isn't very authoritative but hey it makes for easy googling still
12:06:57
beach
Here is an interesting idea. Since I can write (defclass symbol (t) ((%name .. :reader symbol-name) (%package ... :reader symbol-package)) (:metaclass built-in-class)), it might be desirable to define those slot readers to be a special kind of generic function that would allow only a single reader method. Not that it matters much, but it's a cute idea.
12:15:35
beach
I can imagine a system implementer who wants symbol-name to behave like an ordinary function, i.e. disallow auxiliary methods on it.
12:18:46
beach
... namely that you are not allowed to define methods that are applicable to only standardized classes.
12:22:44
heisig
The problem of allowing subclasses of built-in-classes is that it tempts users to write code that is not portable across implementations.
12:26:33
heisig
You may be right. It is really nice to actually have the choice whether to allow subclasses of built in classes or not :)
12:28:34
beach
I guess my idea came from the excitement about using the CLOS machinery for built-in classes.
12:31:43
beach
Heh: (declass null (symbol list) () (:metaclass built-in-class) (:default-initargs (:name "NIL" :package (find-package '#:common-lisp))))
12:36:13
heisig
You know it is 2018 when you see :default-initargs for the class NULL. This is truly amazing!
12:38:33
heisig
I am just trying to figure out how an implementor could then use the old tricks of encoding NIL efficiently. But I am sure it can be done (using a subclass like client-package::built-in-null-class?).