All tags > macro

Hexstream/anaphoric-variants Gives access to anaphoric variants of operators through one macro: ANAPHORIC. The user explicitly provides a variable name, preserving sanity, in contrast to the traditional use of an evil implicit variable ("IT"). Some operators can bind additional handy variables when explicitly requested. (Formerly called "explicit-anaphora".)
Hexstream/cartesian-product-switch A macro for choosing the appropriate form to execute according to the combined results of multiple tests. This is a straightforward and efficient alternative to the convoluted ad-hoc conditionals one might otherwise resort to.
Hexstream/evaled-when Provides a way of extracting and replicating the compile-time side-effects of forms.
Hexstream/first-time-value Returns the result of evaluating a form in the current lexical and dynamic context the first time it's encountered, and the cached result of that computation on subsequent evaluations.
Hexstream/its Provides convenient access to multiple values of an object in a concise, explicit and efficient way.
Hexstream/map-bind MAP-BIND is a macro that allows visual grouping of variables with their corresponding values (not necessarily 1:1) in calls to mapping operators when using an inline LAMBDA. It does so in a way that automatically supports virtually every existing and future mapping operator, all lambda keywords and FUNCALL/APPLY/MULTIPLE-VALUE-CALL variations.
Hexstream/multiple-value-variants Gives access to multiple-value variants of operators through one macro: MULTIPLE-VALUE. There are built-in variants for some standard operators; it's easy to create your own variants for other operators. The multiple-value mapping operators are especially useful.
Hexstream/place-modifiers place-modifiers essentially gives access to hundreds of modify-macros through one single macro: MODIFY.
Hexstream/trivial-jumptables Provides efficient O(1) jumptables on supported Common Lisp implementations and falls back to O(log(n)) on others.