freenode/#lisp - IRC Chatlog
Search
11:19:38
beach
So the algorithm would be: If it is a compound type specifier that is treated specially, like AND, OR, NOT, MEMBER, EQL, then do the special processing.
11:20:04
beach
If it is compound then first check that the object is of the type indicated by the CAR.
11:21:04
beach
Then check that the object corresponds to the rest of the type specifier. This processing is specific for each CAR.
11:21:33
beach
Otherwise, it is an atomic type specifier, so see if it expands to something, if so, recursively process the expansion.
11:22:22
beach
Otherwise, check that there is a class of the name, take the CLASS-OF the object and check that it is an instance of the class of that name.
11:43:37
beach
So it sounds like two generic functions: (typep object type environment) and (typep-compound object atomic-type subsidiary-type-information environment)
11:49:38
beach
By the way CLASS-OF must also be a generic function (class-of object environment). That way, we can return FIXNUM in some environment and INTEGER is some other.
11:50:08
beach
I mean, we can return <built-in-class FIXNUM> in some and <built-in-class INTEGER> in some other.
12:09:43
beach
But I need it soon, because my bootstrapping code needs to verify the type of things, and currently it calls the host TYPEP and that is just completely wrong.
13:29:45
beach
Yeah. I was not happy with the way I did it the first time. So I am doing it over again, this time taking my experience into account.
13:30:29
beach
And I noticed some holes in the system, like no TYPEP for first-class global environments.
13:45:50
minion
Fare, memo from PuercoPop: I can't find any reference to the QUAKE ORM you mentioned. Do you happen to have a link?
16:02:51
shka_
Xach: after nuking cache and restarting sbcl, freshly loaded postmodern works just fine
16:35:13
minion
dmiles: SICL: SICL is a (perhaps futile) attempt to re-implement Common Lisp from scratch, hopefully using improved programming and bootstrapping techniques. See https://github.com/robert-strandh/SICL
16:35:19
minion
dmiles: Cleavir: A project to create an implementation-independent compilation framework for Common Lisp. Currently Cleavir is part of SICL, but that might change in the future
16:36:40
dmiles
[09:27] <+dmiles> common lisp interpreter though is 90k lines of .lisp [09:27] <@naturalog> ok but is not 100% lisp [09:28] <@naturalog> is not a pure self interpretr [09:28] <+dmiles> i am refering to one lisp ... it has nothing but lisp code.. no other language
21:24:41
drmeister
Im thinking aloud here while I’m on my phone - can I define a method on finish-output for a stream? Python has a sys.displayhook() that I need to mimic so that cl-jupyter can display intermediate output
21:29:29
Shinmera
https://github.com/trivial-gray-streams/trivial-gray-streams/blob/master/package.lisp#L36
21:29:52
Shinmera
subclass the appropriate output-stream class, and add a method to stream-finish-output
21:37:04
Shinmera
You could base it on the redirect-stream for instance https://github.com/Shinmera/redirect-stream
22:27:06
grobe0ba
i am having issues running CCL. On Alpine, with MUSL libc, i'm missing symbols, which is to be expected, so i'm not bothering with that at the moment. however, since that fails, i have been attempting to run it in a docker container with centos, which fails with "Couldn't load lisp heap image from /home/grobe0ba/opt/ccl/lx86cl64.image: Operation not permitted".
22:27:40
grobe0ba
the container is privileged, using host networking, and has multiple add-caps, all apparently of no use.
23:01:35
pillton
stylewarning: Regarding the conversation a while back where you said: "ad hoc polymorphism is nice with types/classes/CLOS/spec-store/whatever, but I meant parametric polymorphism above, where we define a function that's singly generically useful for many types"
23:02:15
pillton
stylewarning: I attempted to do that with https://github.com/markcox80/template-function which is built on top of specialization store.