diff --git a/List-of-Macros.md b/List-of-Macros.md index 5b21244..d36e8d9 100644 --- a/List-of-Macros.md +++ b/List-of-Macros.md @@ -1,5 +1,39 @@ # List of Macros with Examples + +**Table of Contents** + +- [List of Macros with Examples](#list-of-macros-with-examples) + - [Core Macros](#core-macros) + - [replace-in](#replace-in) + - [select](#select) + - [select-first](#select-first) + - [select-one](#select-one) + - [select-one!](#select-one) + - [setval](#setval) + - [transform](#transform) + - [Path Macros](#path-macros) + - [declarepath](#declarepath) + - [defpathedfn](#defpathedfn) + - [defprotocolpath](#defprotocolpath) + - [extend-protocolpath](#extend-protocolpath) + - [fixed-pathed-nav](#fixed-pathed-nav) + - [path](#path) + - [providepath](#providepath) + - [variable-pathed-nav](#variable-pathed-nav) + - [Collector Macros](#collector-macros) + - [defcollector](#defcollector) + - [paramscollector](#paramscollector) + - [pathed-collector](#pathed-collector) + - [Navigator Macros](#navigator-macros) + - [defnav](#defnav) + - [defnavconstructor](#defnavconstructor) + - [nav](#nav) + - [paramsfn](#paramsfn) + + + + ## Core Macros ### replace-in @@ -259,6 +293,18 @@ are required, then the result is executable. See [defpathedfn](#defpathedfn) for an example. +### path + +`(path & path)` + +Same as calling comp-paths, except it caches the composition of the static part +of the path for later re-use (when possible). For almost all idiomatic uses +of Specter provides huge speedup. This macro is automatically used by the +select/transform/setval/replace-in/etc. macros. + +```clojure +``` + ### providepath `(providepath name apath)`