19:20:05|3b|ACTION wonders how long it would take to run out of good characters if you added a function to the lib every time someone suggested a new golf task
19:43:52pjb|3b|: unicode has a lot of good characters. But I agree that golf tasks naturally reduce good character in the most mild mannered and educated people…
23:18:50Mark35How would one pretty print json in lisp? It appears possible with https://common-lisp.net/project/cl-json/cl-json.html but I'm not sure how to go about it.
0:15:35no-defun-allowedProviding :IF-EXISTS NIL to OPEN will just have it return NIL if the file exists already, which I don't think is used too much as signalling a condition is more appropriate.
0:15:42Odin-I don't think there's anyone who's never missed an obvious typo in code.
0:15:53Odin-At least not if they've done any significant coding.
1:02:58torvisfe[nl]ix: thanks. the install succeeded.
1:04:40Xachphyspi: yes, you don't have to do anything special to get sbcl's help on that topic. it can issue more warnings if you make more promises via type declarations.
1:10:24Xachfor example (defun foo (&key ((:hey you) *guys*)) ...) looks for the keyword :HEY in calls, binds it to the value YOU in the body of the function, and if it's not passed, uses the value from *GUYS*
1:12:18XachHiRE: not a common pattern but nice to have when you really need it
1:14:15_deathyou could also have you-suppliedp there, which introduces another variable whose value is true if the argument was supplied and false otherwise
1:14:59HiREHis use of chained ands for where is nice
1:15:41HiREhowever I am confused - if the keyword variable isnt supplied that branch of the and statement is NIL right? So wouldn't that invalidate all other branches?
1:16:00HiREI mean obviously (select (where :artist "Joe's band")) works fine - just trying to reason out the way the and is breaking down
1:17:44_deathif, say, TITLE is not supplied, its default value is NIL, so the alternative branch of the IF is evaluated, in this case the form T, which evaluates to T, which is not NIL therefore true
1:17:56HiREthe `t` is in the false half of the if statement, so if it isn't supplied it just defaults true
1:23:13HiREusually I'll learn a language by doing practice problems but since lisp is so different I figured learning from first principles was the best idea
1:23:20HiREits been a long time since I've read a decent programming book
1:24:02gabcI use it now as a reference when I want something clear for details (like &key and &optional or `loop')
1:26:45aethHiRE: Imo tThe main distinction besides the syntax that makes it different is that nearly everything is an expression that returns a useful value