freenode/#sbcl - IRC Chatlog
Search
15:40:03
nyef``
(< Y Y) is NIL, thus the IF (not having an alternative branch) returns NIL, leading to the entire expression being (THE INTEGER NIL)?
15:43:08
stassats
in reality, there's a conflict between (integer 1) and (or (integer 0 0) (integer 2 2))
15:49:10
sjl
nyef``: the standard is kinda unclear about what listen should do on a binary input stream
15:49:20
stassats
although, i didn't have a good experience with wait-until-fd-usable when i tried using it
15:49:37
sjl
clisp folks seem to think (listen binary-stream) should always return nil to be conforming: https://clisp.sourceforge.io/impnotes/non-block-io.html#rbnh
15:49:52
sjl
> The [ANSI CL standard] specification for LISTEN mentions “character availability” as the criterion that determines the return value. Since a CHARACTER is never available on a binary STREAM (i.e., a stream with STREAM-ELEMENT-TYPE being a subtype of INTEGER), LISTEN returns NIL for such streams.
16:06:48
nyef``
oleo: You are, somehow, doing something "wrong". But we don't know what because we don't know what you're doing.
16:13:17
oleo
i already copied my files over from my laptop too, and will try to make the image with them, or run the existing image (which was made on the laptop)
16:16:29
|3b|
(compile nil '(lambda (a) (when (every 'zerop (mapcar 'third a))))) => ; note: implementation limitation: couldn't inline expand because expansion refers to the optimized away object #<SB-C::CTRAN 1 {101DB68C23}>
16:19:16
|3b|
(mostly just the "is it seeing something i'm not" level of caring as is frequently the case with code deletion notes)
16:19:41
stassats
looks like the type error confuses constraint-propagate, and it derives all sorts of nonsense types
16:20:37
stassats
|3b|: there's nothing you can really do except rewrite it to a LOOP or (unless (find-if-not #'zerop a :key #'third))
16:38:18
stassats
we can't fix you being silly, but we can fix the compiler to produce more concrete errors
16:46:51
stassats
going to src/runtime, editing the makefile to avoid disabling PIE, and make -j8 libsbcl.so
16:54:50
_death
I want opinion on https://github.com/death/sbcl/commit/a07ad9d65805c63e33e5376c9cda97d6962b8900
17:34:43
sjl
is https://www.pvk.ca/Blog/2013/04/13/starting-to-hack-on-sbcl/ still a good starting guide for contributing to SBCL?
17:53:08
stassats
now (defun muffle-warning (&optional condition) (invoke-restart ...)) is conflicting with NIL
18:05:10
corci
Project sbcl-master » safepoints,ubuntu_trusty_32bit build #2879: UNSTABLE in 56 min: http://ci.cor-lab.de/job/sbcl-master/featureset=safepoints,label=ubuntu_trusty_32bit/2879/
18:10:43
scymtym
stassats: re corci: the options are limited. i think reverting to the previous behavior "notify on new failure and successes" is our best bet. i could try not notifying for individual configurations
18:15:47
oleo
welp, seems to have been some fuckup with my quicklisp directory that caused it, using the one from the laptop restores it
18:39:21
oleo
yah, it's actually only the mcclim-20171103-git folder which somehow got screwed or so, i now copied the contents of a backup and it works
19:27:10
corci
Project sbcl-master » safepoints,ubuntu_trusty_32bit build #2880: STILL UNSTABLE in 57 min: http://ci.cor-lab.de/job/sbcl-master/featureset=safepoints,label=ubuntu_trusty_32bit/2880/
19:29:14
scymtym
stassats: are you finished with that change? otherwise i would like to add tests (error-source-path.impure.lisp) and improve source paths for malformed LABELS/FLET bindings
19:30:03
scymtym
also, could WITH-CURRENT-SOURCE-FORM be used and if not, could it be improved to make it applicable?
19:32:24
scymtym
i had this idea where refining a source path form e.g. (let ((x 1))) to x would leave only one possibility for x
19:33:43
stassats
we identify conses, but there's always a cons, just need to record "car of a cons n"
19:34:04
scymtym
so (with-current-source-form ('(let ((x 1)))) (with-current-source-from ('x) ...)) should be able to produce a path for x when there are no other occurrences
19:40:22
corci
Project sbcl-master-windows » Windows_7_64bit build #1792: FAILURE in 15 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1792/
20:09:29
corci
Project sbcl-master-windows » Windows_7_64bit build #1793: STILL FAILING in 15 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1793/
20:22:58
corci
Project sbcl-master-windows » Windows_7_32bit build #1793: FAILURE in 29 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1793/
20:28:53
corci
Project sbcl-master » without-unicode,ubuntu_trusty_64bit build #2881: UNSTABLE in 36 min: http://ci.cor-lab.de/job/sbcl-master/featureset=without-unicode,label=ubuntu_trusty_64bit/2881/
20:42:41
scymtym
precise source paths for malformed LET[*], FLET and LABELS (and eliminated a bit of redundant code)
20:46:40
scymtym
stassats: i'm planning to make a NEWS entry along the lines of "More accurate source locations in warnings and errors referring to bindings established by LET, LET*, FLET and LABELS". does that represent your changes properly?
20:54:07
corci
Project sbcl-master » fasteval,ubuntu_trusty_64bit build #2881: UNSTABLE in 1 hr 1 min: http://ci.cor-lab.de/job/sbcl-master/featureset=fasteval,label=ubuntu_trusty_64bit/2881/
20:54:58
phoe
stassats: would it make sense to emit style-warnings if the compiler detects that EQ is used to compare numbers and/or characters?
21:08:29
corci
Project sbcl-master-windows » Windows_7_32bit build #1794: STILL FAILING in 8 min 17 sec: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1794/
21:08:58
corci
Project sbcl-master-windows » Windows_7_64bit build #1794: STILL FAILING in 8 min 46 sec: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_64bit/1794/
21:14:19
phoe
So I can assume that this is a thing that the compiler should warn the programmer about.
21:16:00
stylewarning
scymtym: at least the standard leaves which Boolean eq returns for eql numbers and characters undefined
21:17:28
phoe
"However, numbers with the same value need not be eq, and two similar lists are usually not identical. "
21:17:58
phoe
" An implementation is permitted to make ``copies'' of characters and numbers at any time. The effect is that Common Lisp makes no guarantee that eq is true even when both its arguments are ``the same thing'' if that thing is a character or number. "
21:19:02
stassats
phoe: it's already determined to return NIL, so the subsequent forms will report as being deleted
21:19:30
stassats
there could be a mode of some kind which actually explains the origins of source deletion notes, since they are not always apparent
21:21:07
stassats
scymtym: yes, but my change is only for the FLET and LABELS, are you provinding LET and LET*?
21:21:52
scymtym
stassats: only malformed bindings for LET[*], improving unused LET[*] bindings remains
21:24:41
scymtym
GC invariant lost, file "gencgc.c", line 1562 while running tests. that's currently expected, right?
21:39:16
stylewarning
|3b| my reading of the standard is that it is undefined up to which value is selected from the set of Booleans.
21:42:32
|3b|
stylewarning: but only for number/character values for which EQL would return true... no false positives, only false negatives (at least by the definition used by EQL)
21:43:08
|3b|
so (eq 5 x) will never return true for anything aside from X=5, and maybe not even then
21:54:01
corci
Project sbcl-master-windows » Windows_7_32bit build #1796: FIXED in 28 min: http://ci.cor-lab.de/job/sbcl-master-windows/label=Windows_7_32bit/1796/
1:07:59
stassats
i think i know how to highlight A in (lambda () A), but not sure how to reconcile it with slime
1:19:28
pfdietz
The issue with my quicklisp was I didn't do (ql:update-dist "quicklisp"). In my defense, it didn't say I had to do that after installing.
1:20:43
pfdietz
I'll go back and do a clean install to see what happens. There may have been something there from before.
1:21:25
pfdietz
Yes, 143K forms (read without loading the packages; should get even more when I load them first so the reader doesn't fail as much and macros are defined.)
1:22:40
pfdietz
I think I may extend the testing to splice subterms from different forms into other forms, rather than just into themselves.
1:24:09
pfdietz
Heh. I'd like coverage feedback on the sbcl compiler. Is there a way I can load than in separately, just to run tests through it, without clobbering the existing compiler?
1:24:15
dougk
I think i know what causes the gc invariant loss that i introduced. having a heck of a time creating that situation through Lisp code
1:25:59
stassats
but it's not the real mccoy, so it may have its own bugs or not have the eventual compiler bugs
1:27:34
nyef``
Can you "just" hack the default XC policy to include instrumentation for code coverage, or would that break horribly?
1:27:55
dougk
yup. pretty sure the issue is that the allocator allows picking up the tail of a region that was closed and whose last page was 100% full. it considers that the region start. But page_address(start_page)+page_bytes_used(start_page) is actually on the next page
1:31:38
pfdietz
COVER, a package written by Waters, does some clever macrology and symbol shadowing. It's portable.
1:34:36
pfdietz
I've used that to automatically generate covering test cases for small libraries. Generate test inputs and remember them when they increase coverage.
2:34:32
corci
Project sbcl-master » default,ubuntu_trusty_64bit build #2881: FAILURE in 6 hr 42 min: http://ci.cor-lab.de/job/sbcl-master/featureset=default,label=ubuntu_trusty_64bit/2881/
3:07:46
corci
Project sbcl-master » safepoints,ubuntu_trusty_32bit build #2881: FAILURE in 7 hr 15 min: http://ci.cor-lab.de/job/sbcl-master/featureset=safepoints,label=ubuntu_trusty_32bit/2881/