<mrcom>
? Was asking what were drivers for choosing Quite OK vs. some other audio format.
<Shinmera>
it's fast to decode
Pixel_Outlaw has joined #commonlisp
thuna` has joined #commonlisp
<thuna`>
Has there been any work on a specification for the indentation of LOOP?
varjag has quit [Ping timeout: 268 seconds]
josrr has quit [Remote host closed the connection]
<Shinmera>
I don't think there's a specification for *any* indentation
chillininva has joined #commonlisp
<thuna`>
Not a formal specification I guess but some attempt to unify it
<yitzi>
"Style guide" would probably be a better term.
ym has quit [Ping timeout: 240 seconds]
robin has quit [Read error: Connection reset by peer]
robin has joined #commonlisp
varjag has joined #commonlisp
<dlowe>
My personal loop style is if there's one clause, put it all one on line like (loop for el in list do ...) otherwise, every clause goes on its own line
akoana has quit [Ping timeout: 272 seconds]
<yitzi>
And subclauses?
King_julian has quit [Ping timeout: 268 seconds]
<Pixel_Outlaw>
I think most folks just indent their sub clauses like you'd indent Python or BASIC.
chillininva has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 246 seconds]
mgl_ has joined #commonlisp
<Shinmera>
I try to avoid subclauses
<Shinmera>
as in, the provided if/else/when/unless of LOOP itself
<Shinmera>
it's a bit longer, but I much prefer having the standard CL:WHEN/etc in a DO when possible instead
X-Scale has quit [Ping timeout: 250 seconds]
gone123 has joined #commonlisp
gone123 has quit [Changing host]
gone123 has joined #commonlisp
pve has quit [Quit: leaving]
admich1 has quit [Ping timeout: 252 seconds]
cage has quit [Quit: rcirc on GNU Emacs 29.3]
waleee has joined #commonlisp
yitzi has quit [Remote host closed the connection]
shka has quit [Quit: Konversation terminated!]
<thuna`>
When each clause is a single line, figuring out the "correct" indentation is relatively simple. It gets trickier when that's not the case, however. A very simple example is https://0x0.st/XqQN.txt
<thuna`>
I have a couple of edge cases that sly (and probably slime) definitely indents incorrectly that I want to fix but adding hacks for every edge case will make the code unmaintainable so I am reluctant to just do it and clean my hands off of it
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
varjag has quit [Remote host closed the connection]
varjag has joined #commonlisp
mgl_ has quit [Ping timeout: 264 seconds]
varjag has quit [Ping timeout: 240 seconds]
ec has quit [Ping timeout: 260 seconds]
ec has joined #commonlisp
shawnw has quit [Ping timeout: 246 seconds]
shawnw has joined #commonlisp
<aeth>
afaik, you only really need subclauses clauses when it's really fancy, such as conditionally collecting into one list or another
<thuna`>
It is definitely not common but it's better to do it properly
<thuna`>
I am kind of worried that it is not possible though, because of the above example and other similar problematic combinations
shawnw has quit [Ping timeout: 268 seconds]
k_hachig has quit [Ping timeout: 272 seconds]
k_hachig has joined #commonlisp
josrr has joined #commonlisp
<aeth>
idk, collecting into two separate lists seems to be a fairly common use of LOOP for me
<aeth>
,(loop :for i :from 0 :below 42 :if (evenp i) :collect i :into evens :else :collect i :into odds :finally (return (values evens odds)))