freenode/#sbcl - IRC Chatlog
Search
14:11:11
phoe
this gives me NIL T even though the second type is equivalent to T, so T T should instead be returned
14:30:42
pfdietz
The difficulty of working with that code is why I was pointing out the targeted random tester, so the hero attempting to fix it can rapidly test their work.
14:34:19
phoe
two: figure out why (or (not (cons (eql 0) (real #1=-3.5d0 #1#))) (not (cons t (eql 0)))) is not properly detected as T
14:34:43
phoe
obviously fixing part two doesn't fix the first one and is therefore just a workaround
16:09:54
phoe
I have just fixed a similar issue on CCL. Let me write a commit message and I'll share it here just in case it has a similar cause.
16:18:49
phoe
https://github.com/phoe-trash/ccl/commit/ba281521b1cfbffe3c3b6ef0a56e27e425438f72?ts=8
16:21:55
jeosol
getting this sbcl specific error: dynamic space too small for core: 1912160KiB required, 1048576KiB available.when I try to load a core through slime. Works on the shell no issues. I do have a lot memory not used when I checked with top (~27GB)
16:22:24
jeosol
I posted this over at #lisp. I wanted to try here. I am not sure why I getting that error
16:34:52
phoe
A global property of our implementation (which unfortunately seems impossible to enforce with assertions or other in-the-code checks and constraints) is that subclasses which don't contain other types correspond to disjoint subsets (except of course for the NAMED-TYPE T, which covers everything). So NUMBER-TYPE is disjoint from CONS-TYPE is is disjoint from MEMBER-TYPE and so forth. But types which can contain
16:35:03
phoe
that is from https://github.com/sbcl/sbcl/blob/e3522369b5fa3fe78a597a64f5b5d8eca4e13bcf/src/code/type-class.lisp?ts=8#L144
16:36:38
phoe
so setting this to true on conses sounds reasonable for me - I'd need to hear some good reasoning for why a cons might *not* contain other types
16:37:26
phoe
so https://github.com/sbcl/sbcl/blob/a3991ed12c026b82d3242b5a5da3d1382dd7920c/src/code/early-type.lisp?ts=8#L685 does seem incorrect to me
16:42:17
pkhuong
phoe: if I declare that a value is of type (cons (eql 0)), its CAR may not always be 0.
17:02:26
phoe
if it has neighboring subtypes (neighboring as in with their exclusive rational bounds being the same number), and if that missing number is a subtype of the rest of the type
17:05:24
phoe
this would also fix ANSI-TEST subtypep.cons.43 but approaching it from a different side
17:06:12
phoe
so it's arguably better than fixing sbcl to answer nil nil instead - but might also require more time and digesting of sbcl type system