Macro @

Part of:

package fset
( @ fn-or-collection &rest args )
A little hack with two purposes: (1) to make it easy to make FSet maps
behave like Lisp functions in certain contexts; and (2) to somewhat lessen the
pain of writing higher-order code in a two-namespace Lisp like Common Lisp.
The idea is that you can write (@ fn arg), and if fn is a Lisp function,
it will be funcalled on the argument; otherwise lookup (q.v.) will be called
on fn and arg. To allow for @ to be used in more contexts, it actually
can take any number of args, though lookup always takes exactly two. Thus
you can write (@ fn arg1 arg2 ...) when you just want a shorter name for
funcall. As a matter of style, it is suggested that @ be used only for
side-effect-free functions. Also, though this doc string has spoken only of
FSet maps, @ can be used with any type that lookup works on. Can be used
with setf, but only on collections, not functions, of course.