freenode/lisp - IRC Chatlog
Search
9:10:05
no-defun-allowed
I want to do an experiment to see how often "duplicate" objects appear in (a reasonable fraction of) my Lisp image (with varying definitions of "duplicate"), so I wrote a short program to traverse objects and count the times they are referenced: https://pastebin.com/Dv0tGv8D
9:11:11
no-defun-allowed
Someone suggested it wasn't correct, then backed out, but I wonder if there's something wrong with my method or if EQUAL objects do appear in my image about 5.4 times.
9:28:21
jmercouris
anyone know how to add indents in multiline strings without them appearing in the resulting string?
9:37:00
loke
jmercouris: No special String syntax. But the FORMAT will be executed at READ time, so it's as standard as anything
9:37:12
jmercouris
"have to IF want to indent multiline strings without indents appearing in resulting string"
9:37:29
loke
You could also write your own reader, I guess. I'd be trivial but the benefit compared to #.(FORMAT...) is questionable.
9:38:21
loke
I'd say that an untrained eye would likely be more confused seeing your custom reader syntax, as that wouldn't be anythign previously known :-)
9:40:05
jmercouris
loke: a good point, it would take me a few seconds to realize what is going on but yes
9:40:38
specbot
Tilde Newline: Ignored Newline: http://www.lispworks.com/reference/HyperSpec/Body/22_cic.htm
9:44:53
loke
~newline ignores newline and indentation. ~@newline ignores the indentation but keeps the newline
10:42:58
loke
Reader macros are really cool and all, but I have to admit I've never used them for effect.
11:55:09
pjb
minion: memo for jmercouris: I would say that it depends on how many such strings you have in your sources. If only one or two #.(format …) will be ok. Otherwise the specific reader macro is indicated. You can use another character than #\", eg. #\« … #\» or #\[ #\]
12:32:18
flip768
and why is (typep nil 'tuple) T? Perhaps as by the definition above, but I wouldn't see an empty list as an (explicit!) tuple.
12:37:04
Xach
flip768: from the type definition, it looks like typep checks of tuple *require* specifying the types of each element.
12:38:10
flip768
Xach: yeah, possibly. my expectation would have been that a(n unspecified) tuple doesn't match NIL.
13:04:57
flip768
Is there a ITERATE clause that binds to multiple elements of a vector? Like (for (values a b c) = (...) ) binds to the three return values?
14:03:58
pfdietz
Reader macros are something you want to use sparingly, as there's just a single "namespace" they can fit in. If you use them, use named readtables.
14:06:33
dlowe
You could theoretically use unnamed readtables too, if you wanted a life of suffering
15:48:57
_death
Xach: https://github.com/yakovzaytsev/screamer-plus though I also patched it to use sb-mop instead of c2mop, likely because it uses an internal symbol there