For completeness can you please provide some reference URL to the latter two or/and describe very briefly?
For fluid variables, see the withdrawn SRFI 15, <
https://srfi.schemers.org/srfi-15/srfi-15.html>. Dynamic variables are an equivalent Common Lisp concept. Fluid and dynamic variables behave like global variables that have been bound permanently to a parameter, so they are accessible from everywhere and can be parameterized anywhere. In Common Lisp, all top-level variables (but not constants or functions) are dynamic, and conventionally are written with an asterisk as a prefix and suffix. In addition, when a variable in a Common LIsp lambda-list (or equivalent) is dynamic, it will be parameterized rather than lexically bound when the procedure is called.
All the examples I have found (except Marc's, thank you Marc) involve using parameters in exactly this way, which I why I am especially interested in other use cases.
There is a problem with parameters: if a procedure implicitly depends on a parameter, and you want to use the procedure in a "localized" way, then binding the parameter around the whole or a substantial part of a program is convenient. But to use such a procedure in a "universal" way independent of its context, it is necessary to wrap *every* call in a parameterize expression.
John Cowan
http://vrici.lojban.org/~cowan cowan@ccil.orgObjective consideration of contemporary phenomena compel the conclusion
that optimum or inadequate performance in the trend of competitive
activities exhibits no tendency to be commensurate with innate capacity,
but that a considerable element of the unpredictable must invariably be
taken into account. --Ecclesiastes 9:11, Orwell/Brown version