<Shinmera>
beach: He did say that he just wanted to note his own preferences, but I honestly don't understand the point of writing something like that up, if it's not meant to be generally useful?
Tolstoy- has quit [Ping timeout: 255 seconds]
<no-defun-allowed>
I disagree with (the example of) reusing symbols; the latter would cause less of a hastle if another programmer wanted to extend the program, maybe to also count the number of symbols with function bindings.
shangul has quit [Ping timeout: 258 seconds]
<White_Flame>
concern for the static number of interned symbols is pointless anyway
<White_Flame>
the dynamic allocations will far outweigh the static ones
<White_Flame>
most of the doc is personal preference (much of which I could give real reasons against), but that one is pretty cut and dry
<no-defun-allowed>
I don't understand what is meant by "A macro should strive to have an expansion which is pleasant to a human reader and also stress using pure standard Common Lisp where possible". The first part is hard to do in some situations, such as parsing, where the code generated is going to be ugly no matter what, but I don't understand what "pure standard Common Lisp" means. Can I not expand to another macro I define using
<no-defun-allowed>
this guide?
<jeosol>
I am not sure if he is trying to be funny, argumentative or not. He said he doesn't use WHEN and UNLESS. Haha. Interesting ...
<Shinmera>
jeosol: based on things he's said in this channel before he's not being funny.
<beach>
jeosol: I think "argumentative" is the answer. If you look in the logs of this channel for the last 2 years, and you search for utterances by me mentioning that name, you will see.
<jeosol>
oh really. I don't think I know him. I should give it a look then.
<jeosol>
I am surprised by some of the things he writes, whether is a lisper or just some troll.
<no-defun-allowed>
If so, I'm done for, because in one of my projects I have a DEFINE-FUNCTION-OPCODE, which generates a body for DEFINE-OPCODE which calls a function, which then expands to %DEFINE-OPCODE with some typo checking. That seems like a fair expansion path otherwise.
<beach>
jeosol: It is basically a long list of "I don't give a damn about conventions. This is what *I* think."
shka_ has joined #lisp
<jeosol>
beach: hahaha. I agree with you.
<jeosol>
That's how I read it. Especially the comment about using 100 columns vs. 80 columns, and alluding to tribal fire ...
<beach>
Exactly.
<beach>
Conventions are dismissed as "tribal restrictions".
<jeosol>
I guess I shouldn't take it seriously then. I thought it was something that probably incorporated and built on Norvig's/Pitman's guidelines
<beach>
It's the exact opposite. That document was recommended to this person more than a year ago. The fact that Norvig and Pitman are much more experienced does not seem to matter.
<jeosol>
He really just wants to argue and be against convention. In almost every paragraphs, he comes across as not wanting to heed or following any convention.
<beach>
Exactly!
prince1 has joined #lisp
<beach>
And it is kind of interesting to simultaneously recommend that others do the same. :)
<no-defun-allowed>
And the example code shouldn't be presented differently to actual code, as it is already distinguishable from other text by the gray background and monospace font. That is especially confusing in the context of a style guide; should we write all upcased code?
<beach>
I mean, by not following the recommendations on that page, you actually follow the recommendations on that page. :)
<jeosol>
I am glad beach and shinmera clarified, otherwise, I thought he was being funny.
<jeosol>
no-defun-allowed: yeah, the comment about upcase, I didn't see the point of it at all.
<no-defun-allowed>
(I don't mind people saying "screw you guys, I'm going to do my own thing" and acting upon it, as that sometimes creates very interesting results, but this style and its presentation are very silly.)
<White_Flame>
what is this supposed to mean? "if a multi-word predicate name ends in P, that implies it's not a predicate, but a variation on one."
<Shinmera>
I have no clue
prince1 has quit [Ping timeout: 240 seconds]
krwq has quit [Remote host closed the connection]
varjag has joined #lisp
Tolstoy- has joined #lisp
narimiran has quit [Ping timeout: 258 seconds]
wxie has joined #lisp
Tolstoy- has quit [Remote host closed the connection]
Tolstoy- has joined #lisp
ebzzry has quit [Read error: Connection reset by peer]
Tolstoy- has quit [Remote host closed the connection]
Tolstoy- has joined #lisp
madrik has quit [Remote host closed the connection]
v88m has quit [Ping timeout: 245 seconds]
Tolstoy- has quit [Remote host closed the connection]
gko_ has quit [Ping timeout: 260 seconds]
dale has quit [Quit: My computer has gone to sleep]
shka_ has quit [Ping timeout: 268 seconds]
Aruseus has joined #lisp
wxie has quit [Quit: wxie]
orivej has quit [Ping timeout: 258 seconds]
<jackdaniel>
White_Flame: if I had to take a guess, it tries to hint a difference between simple-string-p and string-lessp
<jackdaniel>
where the former is a predicte for type simple-string, while the latter is a variation of a predicate lessp
<White_Flame>
ah
varjag has quit [Ping timeout: 255 seconds]
ebzzry has joined #lisp
ebzzry has quit [Ping timeout: 240 seconds]
karlosz has quit [Quit: karlosz]
wxie has joined #lisp
madrik has joined #lisp
<madrik>
As advised, I have removed CL packages I got from Apt (Debian) and now manage them using quicklisp.
<madrik>
And thank you for recommending FiveAM. The idea of suites was what I was missing in RT.
<madrik>
Next I will explore managing some of my personal projects with quicklisp.
<madrik>
I don't think that the lambda environment has anything to do with it.
<madrik>
Perhaps I've goofed somehow in SBCL's usage.
<madrik>
OTOH, it is interesting that only SBCL shows this, and not CCL, ACL, and CMUCL.
srji_ has quit [Quit: leaving]
srji has joined #lisp
<Xach>
hi madrik
<Xach>
I don't think I've seen an error like that on installation before.
<Xach>
Are you up for some more troubleshooting?
cosimone has quit [Quit: Terminated!]
|Pirx| has quit [Remote host closed the connection]
|Pirx| has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
<pjb>
madrik: (TRUENAME *DEFAULT-PATHNAME-DEFAULTS*) is a bug in general, since *DEFAULT-PATHNAME-DEFAULTS* is not normaly bound to a file pathname.
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 268 seconds]
<pjb>
an *existing* file pathname!
X-Scale` is now known as X-Scale
orivej has quit [Ping timeout: 255 seconds]
<madrik>
Xach: I'm here.
<Xach>
madrik: are you up for trying something to see what results?
<madrik>
pjb: Might this be a problem in SBCL?
<madrik>
Xach: Sure.
<Xach>
WHat do you get from sbcl --noinform --non-interactive --no-userinit --no-sysinit --eval '(print *default-pathname-defaults*)' --eval '(terpri)'?
<madrik>
#P"/home/madrik/"
<madrik>
My home directory
<Xach>
Ok
<Xach>
How about sbcl --noinform --non-interactive --eval '(print *default-pathname-defaults*)' --eval '(terpri)' ?
prince1 has joined #lisp
<madrik>
The same
<Xach>
hmm
<Xach>
madrik: where is your quicklisp.lisp file?
scymtym has joined #lisp
<madrik>
I have it in '/home/madrik/Source/quicklisp/quicklisp.lisp'
<Xach>
How about: ssbcl --noinform --non-interactive --load ~/Source/quicklisp/quicklisp.lisp --eval '(quicklisp-quickstart:install)'
<Xach>
Curious to see if you get the same error as before.
<Xach>
err, not ssbcl, but sbcl
wxie has quit [Quit: wxie]
prince1 has quit [Ping timeout: 260 seconds]
<madrik>
Unhandled simple-error in thread #<sb-thread:thread "main thread" running
<madrik>
Quicklisp has already been installed. Load #P"/home/madrik/quicklisp/setup.lisp" instead.
<madrik>
{10005D05B3}>:
<madrik>
<madrik>
It gobbled up part of the path
<madrik>
No, it didn't.
<madrik>
Sorry
<madrik>
Hmm.
orivej has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
<madrik>
I tried it again on a fresh SBCL under SLIME.
<madrik>
No error these last times. Works just as CCL, ACL, and CMUCL.
<madrik>
I have no idea what happened.
<Xach>
Hmm, ok.
<madrik>
_That_ it works is great, but _why_?
<Xach>
Well, sorry it glitched, that is not an error that happens typically. It's not a "oh that happens all the time and here's the workaround" sort of thing.
dddddd has quit [Ping timeout: 240 seconds]
<madrik>
Xach: I understand.
xkapastel has joined #lisp
<madrik>
What little I've used of quicklisp suggests that it is first-rate.
<madrik>
Xach: Thanks a lot.
orivej has quit [Ping timeout: 265 seconds]
<madrik>
If I want to use quicklisp to manage local projects of mine, what should I put in 'quicklisp/local-projects' -- the ASD system definitions and all Lisp source files?
<beach>
You can make any number of subdirectories in that directory, or you can put symbolic links (at least for SBCL) in that directory to anywhere you like.
<beach>
You just need to remember to execute (ql:register-local-projects) after every new ASDF file you create.
<madrik>
beach: Thanks. That works.
<beach>
Great!
<madrik>
It all feels so overwhelming and huge.
cosimone has joined #lisp
<beach>
Believe me, it was much more overwhelming before Quicklisp.
__jrjsmrtn__ has quit [Ping timeout: 255 seconds]
<madrik>
beach: I will take your word for it.
__jrjsmrtn__ has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<madrik>
Is the DO form in PRODUCE-TWO-RANDOM-NUMBERS a good way to get two distinct random numbers?
<_death>
madrik: you can (random n) to get the first number, then (random (1- n)) to a number that can be mapped to the second number
paul0 has quit [Ping timeout: 260 seconds]
<beach>
What does it mean for a number to be "mapped to" another number?
<_death>
in this case, it means if the second number is less than the first, take it as is, otherwise, increment by 1
<beach>
That doesn't sound very random.
<beach>
If the first number is A, then A+1 will never be produced as a result of that procedure.
<_death>
you can think of the first as returning an index to a sequence of (iota n) and the second as returning an index to the sequence (remove first-number (iota n))
<_death>
beach: suppose N=10 and A=5.. if the second form (random 9) returns 5, then the second number is A+1=6
<beach>
OK.
<beach>
I think I see.
ebzzry has quit [Read error: Connection reset by peer]
kslt1 has quit [Ping timeout: 258 seconds]
Bike has joined #lisp
EvW1 has quit [Ping timeout: 240 seconds]
ebzzry has joined #lisp
narimiran has joined #lisp
montaropdf has joined #lisp
srji has quit [Quit: Lost terminal]
EvW has joined #lisp
srji has joined #lisp
<_death>
in general a Q&D way is (subseq (shuffle (iota n)) 0 k) although solutions using LFSRs and Feistel networks are also possible
montaropdf has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 248 seconds]
ebrasca has joined #lisp
prince1 has joined #lisp
EvW1 has joined #lisp
<_death>
(if N is not known a prior, we talked about reservoir sampling the other day ;)
orivej has joined #lisp
prince1 has quit [Ping timeout: 265 seconds]
Necktwi has quit [Ping timeout: 265 seconds]
<Posterdati>
hi
<_death>
also note that alexandria:shuffle is still atrocious for lists :/ so it's better to coerce to vector, pass, and coerce back
<Posterdati>
I submitted some fixes for cffi to make it run on openbsd, but in the new release there's no trace of them :(
orivej has quit [Ping timeout: 255 seconds]
<_death>
Posterdati: were they merged?
shifty has joined #lisp
Necktwi has joined #lisp
lizqwer has quit [Quit: WeeChat 2.7]
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
toorevitimirp has quit [Remote host closed the connection]
ebrasca has quit [Remote host closed the connection]
varjag has joined #lisp
lucasb has joined #lisp
kslt1 has joined #lisp
srji has quit [Quit: leaving]
srji has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
bitmapper has joined #lisp
hiroaki has joined #lisp
EvW1 has quit [Ping timeout: 240 seconds]
gko_ has quit [Ping timeout: 268 seconds]
Guest39 has joined #lisp
Guest39 is now known as wilks
hiroaki has quit [Ping timeout: 272 seconds]
ak5 has quit [Ping timeout: 260 seconds]
<nirved>
madrik: in your roll-die function the docstring doesn't match the implementation
hiroaki has joined #lisp
<nirved>
madrik: random number in range [N, M] would be (+ N (random (1+ (- M N))))
|Pirx| has quit [Remote host closed the connection]
|Pirx| has joined #lisp
wilks has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Aruseus has joined #lisp
gareppa has joined #lisp
prince1 has joined #lisp
bitmapper has quit []
prince1 has quit [Ping timeout: 260 seconds]
<madrik>
nirved: Thanks for the observation.
<verisimilitude>
I appreciate the thoughts my style document received. As noted, the upcased code is for display purposes and not as a suggestion to write it that way in a program. To you, no-defun-allowed, there's nothing wrong with a macro not expanding to symbols in the COMMON-LISP package, of course, but you should try if it's possible; in your case, it may very well not be; I don't believe LOOP and FORMAT have any excuse for their awful
<verisimilitude>
expansions in most implementations, however.
Lord_of_Life has quit [Read error: Connection reset by peer]
<verisimilitude>
I wrote the document because someone in my Lisp venue wanted to read style guides and I'd a dearth of writing ideas.
Lord_of_Life has joined #lisp
aindilis has quit [Remote host closed the connection]
<_death>
verisimilitude: have you been working on acute-terminal-control recently?
aindilis` has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
aindilis` has quit [Remote host closed the connection]
aindilis has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
dddddd has joined #lisp
gareppa has quit [Quit: Leaving]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
sz0 has quit [Quit: Connection closed for inactivity]
Jeanne-Kamikaze has joined #lisp
didi has joined #lisp
prince1 has joined #lisp
prince1 has quit [Ping timeout: 255 seconds]
<verisimilitude>
I've not, _death.
ggole has quit [Quit: Leaving]
<verisimilitude>
There are some things I'd like to add or improve, but I've yet to do so. Are there any such things you'd want to discuss?
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
<verisimilitude>
Oh, I've also yet to completely rewrite the documentation, as I've been intending to do with most of my documentation.
Lord_of_Life_ is now known as Lord_of_Life
pnp has joined #lisp
<_death>
verisimilitude: when I used it about a year ago, the issues were the differences in terminal emulators (I used the terminfo system, which is a pure CL "Terminfo database front-end") including mouse input (possibly, I don't think I fully resolved it).. I also had a small patch to support "bright" colors.. personally I think it was a mistake to represent colors as symbols (only)
pnp has left #lisp [#lisp]
asarch has joined #lisp
asarch has quit [Client Quit]
karlosz has quit [Quit: karlosz]
<_death>
another was the issue of distribution, where a git repository was not available.. but since I found no reason to make my code public it wasn't a big deal (I just have my own git repo for your library)
shifty has joined #lisp
<verisimilitude>
Oh, there have perhaps been changes since you last used it. Take a look. My READ-EVENT accepts mouse events, function keys, etc.; I added extended color support a ways back as well.
<verisimilitude>
Colors can be represented not just as symbols, but also RGB, CMY, and CMYK, as that's what ISO 8613-6 supports.
cosimone has quit [Quit: Quit.]
<verisimilitude>
Another change I'd been mulling over was adding (SETF PROPERTIES), which would make bold, italics, etc. easy to use, but I'd not decided on the set of properties I wanted to support; I'll probably resolve this soon by using a subset I'm certain of.
<_death>
good.. this is another reason to use a version control system - it is easier to notice updates
<verisimilitude>
It's unfortunate I've inconvenienced you, but I really just don't want to use git or these other systems, _death.
<_death>
it's your choice ;)
<verisimilitude>
The only really major and perhaps ``breaking'' change I've been considering is slightly changing how CURSOR behaves, by adding a CURSOR-NO-HANG and changing CURSOR to perhaps wait forever if the STREAM doesn't correspond to a terminal.
shinohai has quit [Quit: ZNC 1.8.x-git-190-d3011c6e - https://znc.in]
<_death>
I will look into these changes this week, I guess
<verisimilitude>
Is your work with my ATC public in any way, _death?
<verisimilitude>
If you'd want some additional feature, describe it to me and I'll mull it over.
<_death>
nope.. it was a personal project that stalled some 10 months ago
<verisimilitude>
Alright.
<_death>
I guess fixing the mouse issues is the next thing to do there, and given your changes I may work on it ;)
shinohai has joined #lisp
<verisimilitude>
Know you must enable the mouse by yourself.
<_death>
yes, the issue was with the read-event return values if I remember correctly.. maybe this was fixed
<verisimilitude>
You'll want to use SET-MODE with arguments of #\?, 1006, and 1007.
<_death>
ok, I'll make a note
<verisimilitude>
Oh, it's #\?, 9, 1006 and 1007; that's my mistake.
<verisimilitude>
Also, SET-MODE takes this as a list, for good reason, but that's obvious or would quickly be obvious.