freenode/#lisp - IRC Chatlog
Search
4:12:52
parjanya
beach: thanks! is this decent, (list (nth-value 5 (get-decoded-time)) (nth-value 4 (get-decoded-time)) (nth-value 3 (get-decoded-time))), or would be better to collect the values in a list and then extracting what I want from it?
4:14:22
aeth
And for the things you don't use, just do this so the compiler doesn't warn you: (declare (ignore foo bar baz))
4:18:33
pfdietz
Might use it for variables that will just be used in, say, debugging or logging statements that may or not actually be compiled (due to #-/#+ or macros).
4:43:29
lildragon
beach: It looks really good in terms of the content, the user interface is monstrosity though.
4:45:18
lildragon
beach: Couple of hours into finally committing to learn Lisp I see a common pattern across everything lisp related, there is a strong commitment in the early ages of computer human interaction (I avoid the term UX because that is too modern). :P
5:25:03
lildragon
beach: I think it is not that bad after all, thanks for reminding me that it is not that long.
7:16:38
cryptomarauder
Nice chat. You guys never quit being eager to help. I am such a lurker but I get so much with virtually no snark. Golden lol
9:59:24
phoe
On SBCL: (trace (setf config)) ;;=> WARNING: (SETF CONFIG) is not a valid function name, not tracing.
10:06:18
Shinmera
It's been a while since I implemented it, but I remember discussing the available options at the time and coming to the begrudging conclusion that a SETF "pre-processor" is the best way to go
10:06:55
Shinmera
It was something about the SETF facility not giving you access to a variable amount of multiple values, which I needed.
10:07:06
phoe
AFAIK needs to be a custom one because of how Qtools hacks around the reader - only the symbols requested by the client code are generated, et cetera.
10:09:33
Shinmera
Essentially (setf (q+:size foo) (values 400 500)) is read as (setf (q+ set-size foo) (values 400 500)), so in that case it needs two values, but let's say (setf (q+:rect foo) (values a b c d)) needs four and so forth.
10:10:35
Shinmera
Anyhoot, the SETF wrapper turns that into (q+ set-size foo 400 500) or whatever else depending on the VALUES form.
10:11:34
Shinmera
You might think I could just specify like a hundred values or something expecting that no function call will ever need that many, but then you also never get any information from SETF about which values were actually passed and which weren't, so you can't compose the proper call.
11:01:09
makomo
jasom: regarding that cl-json hash table thing from yesterday, are you sure that works?
11:01:35
makomo
because i keep getting an error from the internals of cl-json when the body of my *beginning-of-object-handler* is run
11:13:01
beach
I just hate that kind of error message. It contains absolutely no information that is of value to even the most novice Common Lisp programmer.
11:13:29
phoe
Haha, I just got hit by a similar message an hour ago and spent thirty minutes debugging it.
11:14:23
Shinmera
Rust's compiler is pretty nice about error messages, but I don't know if you could replicate that kind of experience for run-time errors.
11:14:32
makomo
jasom: yup, my bad. i delayed the writing of your "to-keyword" and in *object-key-handler* just forwarded the call to the original handler, but that makes no sense because that handler expects all sorts of internal state to be already built (set up by *beginning-of-object-handler*, etc.)
15:22:35
Xach_
Shinmera: i'm having an odd issue where i can't build qtools from a warm fasl cache due to VERBOSE symbol issues. i suspect it's a case where something builds the fasl with :verbose but then a subsequent load of the fasl is done without verbose.
15:49:04
Shinmera
fe[nl]ix: In this case they just provide some debug info if a logging system is present
15:49:39
fe[nl]ix
since Quicklisp makes it easy to download all dependencies it makes no sense to resort to that kind of optimization
15:50:13
Shinmera
fe[nl]ix: I don't want to force a dep that launches threads and stuff onto people that don't need it.