#lispmoo2 eeh, I added persisting changes. The way I did it was to use Waters' #Series and (iterate ((s (scan-symbols pkg)) (with-open-file (out path/to/git/pkgname.limo :direction :output :if-exists :append) (format out "{ @create ~s :named ~s } x~%" (first (get s :parents)) s)))
I guess I'm not meant to use format like this; I'm meant to customize pretty printing using format and then just use print, I guess, but w/e. #lisp
@pkw Interesting but no, this is series:iterate which is a lazily evaluated let form that maps over serieses. It's like > (ql:Quickload :series) > (series::install) > (iterate ((numbers (scan '(1 2 3))) (more-numbers (scan '(1/2 3/2 4/3)))) (print (+ numbers more-numbers)))
@pkw I was a diehard loop person! And then Waters' Series did a better job than me at implementing fizzbuzz with much less work, and I had to adjust my universe to account for that.
@pkw the reason for that install and remove is that you can install series into your package, use series to implement a function, and then uninstall series to clean up, and you still have the series-made function in your package
@pkw@screwtape yeah, that is why I run this linter on pull requests using github actions. If you didn't see yet, there is special helper which simplify GH actions setup for lisp projects:
@svetlyak40wt@screwtape That seems useful. I'm always going back and mentally checking my package definitions for import-froms/local-nicknames that I don't need anymore.