libera/#commonlisp - IRC Chatlog
Search
21:08:25
aeth
I would agree on LOOP, but if you need LOOP's collect/append, there's no real way around it
21:09:02
aeth
And there are so, so many times where you need to conditionally collect and/or append (even messier to avoid LOOP if you need to conditionally do either one of the two in the same loop)
21:20:16
aeth
Yes, but LOOP is a standard way to have an arbitrarily complex conditional collect and/or append into one or more lists that's almost certainly going to be one of the most efficient ways to do it in the implementation.
21:21:05
aeth
The downsides being that it's annoying to use logic inside of a LOOP and that it's annoying to handle multiple return values inside of a LOOP
22:09:19
decweb
If my collection logic is complex I'll often just use `serapeum:with-collector`, perhaps more than one.
22:09:53
decweb
The convenience of `LOOP COLLECT` and should be similar efficiency, but more flexibility at the cost of the WITH form.
22:28:39
aeth
I personally don't pull in nontrivial dependencies (except for the ones so common that everyone will include, such as alexandria and uiop; although alexandria is bordering on trivial)
22:31:23
aeth
For instance, I've read the entire source of float-features and it doesn't depend on anything big.
2:21:29
lerax
I like to do things like this: https://gist.github.com/ryukinix/6823eb9219a7f240588cadf41457b521
2:53:08
Pixel_Outlaw
(In the style of a /Real Scotsman/) A REAL Lisp programmer only needs PROG and GO. :P