freenode/#lisp - IRC Chatlog
Search
22:46:43
phf
hello, does anybody have a backup of https://github.com/pyb/zen (it's the common lisp implementation of x11 server, targeting opengl)?
23:19:19
oni-on-ion
phf, sounds like it would be a nice project; i tried searching for it and could not find anything
7:21:18
White_Flame
What's the most idiomatic way to combine remove-if-not (filter) and mapcar (transform) in a single pass?
7:27:58
phf
edgar-rft: thank you for doing the legwork! i also reached out to author, but haven't heard anything back yet
7:31:08
aeth
White_Flame: if you don't like loop you can just write your own macro or higher order function on top of it
7:32:11
aeth
dialectic: I'd use iterate if it was just loop with parens and extensibility, but it's its own very different thing that I can't expect people to be able to read
7:32:39
White_Flame
and I'm sure loop hides faster imperativeness than I want to bother implementing myself
7:33:48
dialectic
Perhaps. That's a fair criticism. I didn't regret the one day it took to learn it, though. I never use loop anymore.
7:36:26
phf
White_Flame: at least on cmucl (loop when ... collect) expands into a tagbody with setq's and go's, so yeah, not something you might want to write yourself
7:36:50
aeth
one macro that would be fun is one that is essentially a miniature computer algebra macro
7:37:16
dim
loop/iterate, there's also the “for” macro but I can't seem to be finding the repo again easily
7:39:14
aeth
On the surface, SUM would look like LOOP's sum clause, but under the hood it would be using https://en.wikipedia.org/wiki/Summation#Identities because it would have more restrictions on what can be summed
7:46:47
dim
ahah, found it, the for looping macro is at https://shinmera.github.io/for/ and it looked interesting, it's on my “list” of things to try someday
7:48:25
aeth
you can't use FOR and ITERATE in the same package without prefixes because ITERATE has this weird thing with symbols and expects to be :USEd, unlike LOOP, which accepts any package. So for:for and iterate:for will collide
7:49:05
aeth
interestingly, according to that page, for is basically intended to be used with its package prefix... so as for:for