Unevaluated
[expr] Unevaluated
is automatically removed when function arguments are
evaluated:
Sqrt[Unevaluated[x]]
Length[Unevaluated[1+2+3+4]]
Unevaluated
has attribute HoldAllComplete
:
Attributes[Unevaluated]
Unevaluated
is maintained for arguments to non-executed functions:
f[Unevaluated[x]]
Likewise, its kept in flattened arguments and sequences:
Attributes[f] = {Flat};
f[a, Unevaluated[f[b, c]]]
g[a, Sequence[Unevaluated[b], Unevaluated[c]]]
However, unevaluated sequences are kept:
g[Unevaluated[Sequence[a, b, c]]]