freenode/#lisp - IRC Chatlog
Search
0:26:36
jasom
ACTION is secretly hoping that the issue will be the GC stopping the workd and drmeister will spend the next 6 months writing a state-of-the-art concurrent GC for clasp
1:02:31
verisimilitude
I usually make that mistake as well, didi, unless I recently made it and recall.
1:03:07
jasom
I also think that SBCL is wrong about ~{~} with nil as the argument, because the spec says "If before any iteration step the list is empty, then the iteration is terminated."
1:06:07
jasom
IMO the only conforming thing to do with (format nil "~{~}" nil) is to return "" which is not what sbcl does. Be interesting to see if this has been discussed before
3:58:37
beach
jasom: Did you look at the chapter about garbage collection in the SICL specification?
4:42:12
mfiano
Excuse me for not paying attention to the discussions here in a couple weeks, but has anyone noticed that the recent QL dist has a broken trivia system?
9:31:23
ogamita
At least they're consistent. However, the consistency breaks at (format nil "~{~}" nil nil) where ccl keeps signaling an error.
9:44:26
heisig
ACTION wonders how many implementors already had a nervous breakdown at chapter 22 of the spec...
9:46:08
jackdaniel
heisig: for better or worse some implementations just took cmu's code for that and fixed over the years :)
9:49:11
jackdaniel
(but chapter 22 is also about pretty printing and such - this is not part of cmu format)
9:56:57
splittist
If the ~{~} is empty, then an argument is used as the contents. It must be a format control and precede any arguments processed by the iteration.
10:11:04
no-defun-allowed
Chapter 22.3 is probably the most reread chapter in the clhs if I has to guess.
10:35:00
clintm
thank you! I think I was mentally filtering out -p functions assuming they returned nil or t.
10:35:41
jackdaniel
no-defun-allowed: no, digit-char returns a character, digit-char-p is the function
10:59:57
ogamita
splittist: Ah right! ~{~} is like ~? (format nil "~{~}" "~A" '(42 33 b)) #| --> "4233b" |#
11:01:12
ogamita
all predicates are allowed to return "useful" values. Only digit-char-p is specified to do so, IIRC.
11:05:07
jackdaniel
so in conforming CL code you may depend only on digit-char-p returning something useful
11:14:01
ogamita
and mismatch, etc. So, I was wrong: there are more than one predicate specified to return useful values.
11:36:03
pfdietz
Those predicates were so annoying when writing ansi-tests. Had to wrap (not (not ...)) around many forms to convert true to T.
11:48:45
pfdietz
There are also cases where predicates returned different values depending on compilation. (typep x '(member x y z)) might return T if constant folded, or (X Y Z) if actually called with those arguments.