fluid-letis not thread-safe. It is better to use Parameter Objects (srfi-39) or Dynamic Data Type, both of which will be made thread-safe in the future.
(fluid-let ((variable init) ...) expression expression ...)
The inits are evaluated in the current environment (in some unspecified order), the current values of the variables are saved, the results are assigned to the variables, the expressions are evaluated sequentially in the current environment, the variables are restored to their original values, and the value of the last expression is returned.
The syntax of this special form is similar to that of
fluid-let temporarily rebinds existing variables. Unlike
fluid-let creates no new bindings; instead it
assigns the values of each init to the binding (determined
by the rules of lexical scoping) of its corresponding