freenode/#lisp - IRC Chatlog
Search
5:22:15
ck_
in your essay on perfection vs. performance orientations, you say "I myself recently discovered a marvellous feature in a programming language that I had purposely avoided for the past 10 years"
5:33:35
beach
Interesting. If I type (to Google) the name of the Scheme object system that was worked on by my colleague at the time and that made me not look at CLOS, there are no answers. But if I type my own name, there are pages and pages of results. :)
5:34:48
ck_
ooh. So it wasn't just that "object systems are bad" it was that /their/ object system is bad
5:37:01
beach
It is turned out to be true, there was a lot of stuff that I could ignore, and save a lot of work.
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