Hi there. Just a note that there is a small problem if you want to diamond wand substitutions without :USE-ing the arrow-macros package. For example
(ql:quickload :arrow-macros)
(arrow-macros:-<>> 1 (print <>))
Yields
The variable <> is unbound.
[Condition of type UNBOUND-VARIABLE]
This is because has-diamond (and similar checks) are using (eq exp '<>) which fails if the symbol was interned in a different package than the :arrow-macros package.
Instead you probably need a check like this:
(and (symbolp exp)
(string= exp "<>"))
Hi there. Just a note that there is a small problem if you want to diamond wand substitutions without :USE-ing the arrow-macros package. For example
(ql:quickload :arrow-macros)
(arrow-macros:-<>> 1 (print <>))
Yields
This is because
has-diamond(and similar checks) are using(eq exp '<>)which fails if the symbol was interned in a different package than the:arrow-macrospackage.Instead you probably need a check like this: