freenode/#lisp - IRC Chatlog
Search
8:41:50
dim
it seems like a file I added to my pgloader.asd definition isn't getting loaded by ASDF, how does one go about debugging that?
8:42:26
dim
there's no error about the file at asdf:load-system time, only the definitions that the file should be providing are not provided...
8:51:32
dim
(asdf:find-component "pgloader" '("src" "sources" "pgsql" "pgsql-cast-rules")) finds the component, after all
9:06:33
dim
found it: elsewhere it gets overloaded (defparameter *pgsql-default-cast-rules* '() "No transformation by default.")
9:11:51
dim
context of my inquiry: https://github.com/dimitri/pgloader/commit/fc3a1949f74bbfbebdbc023d6e55dc15e5d6df33
10:43:32
beach
Talk to me about implementing TYPEP, specifically for SICL first-class global environments.
10:45:06
beach
Some atomic types expand to non-atomic ones, so those will be encoded as type expanders in the environment.
10:46:57
beach
In which case, the class needs to be a superclass of the CLASS-OF applied to the object that is being asked about, right?
10:50:40
beach
What atomic type specifiers are neither system classes nor equivalent to some other type specifier?
10:56:16
no-defun-allowed
Structures aren't equivalent to structure-object, just subclasses. Same with CLOS objects too I believe.
10:58:40
jackdaniel
beach: I'm not sure if I understand the question, but single-float for instance is a type (subtype of float) designated by an atom. spec doesn't mandate single-float having its own class
11:02:29
jackdaniel
in 16.1.3 single-float is a builtin-class, but before that it didn't expand to that, no
11:02:45
beach
no-defun-allowed: I haven't checked for structures, but I imagine there is something analogous to say about them.
11:04:04
beach
jackdaniel: I am asking whether there are atomic type specifiers that must be neither. I.e., neither system classes nor equivalent to some compound type specifier.
11:05:01
beach
jackdaniel: Or, on the contrary, is it possible to implement the type system so that every atomic type specifier is either a class or it expands to some other type specifier.
11:06:59
beach
no-defun-allowed: By the way, there is no definition of "CLOS class" in the Common Lisp HyperSpec. If there were, it would very likely be "any Common Lisp class", since every class is part of the Common Lisp object system.
11:08:09
no-defun-allowed
I had expected that they would have some special type as they have the wonderful SLOT-VALUE defined for them.
11:12:42
beach
Now supposing I am right, what if some atomic type specifier has both a type expansion associated with it AND it is a class named like that. Which one takes priority.
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