ruricolist/spinneret

There are some unused imports from serapeum

Closed this issue · 3 comments

  • SERAPEUM:STRING+ unused as of fe6192a
  • SERAPEUM:UNSPLICE unused as of 7bae172
  • SERAPEUM:RECEIVE unused as of f397575
  • SERAPEUM:DEFSUBST which appears to never have been used

I've removed these, but if you don't mind me asking, how did you come to discover them?

I was looking for examples of how functions of Serapeum were used and the coincidentally first one I searched for, unsplice, was unused so I checked for others.

Incidentally I wanted to ask to you about unsplice, Although the extra wrapping parens about the code are not exactly tasteful is the extra nesting to do away with extra parens more tasteful? Even though I dislike boilerplate in Lisp, at least the pattern ,@(when …) is easy to recognize. I know that the word 'tasteful' is subjective but still I'm curious to know why/if you prefer unsplice.

I think unsplice is a clear improvement when you’re splicing in a variable:

,@(and docstring `(,docstring))
,@(unsplice docstring)

It’s not as compelling where there’s an explicit condition, but I still prefer it. I think of it as future-proofing: there’s less danger of introducing a bug if I come back later and edit the code. Especially if there’s more than one branch.