Any Wolfram Language symbol can have both a variety of types of values, and a variety of independently settable attributes that define overall aspects of its behavior.

Attributes find the attributes of a symbol

SetAttributes, ClearAttributes set, clear attributes

Function Properties

Listable automatically thread over lists appearing in arguments

Flat make f[f[a],b] equivalent to f[a,b], etc. (associativity)

Orderless make f[b,a] equivalent to f[a,b], etc. (commutativity)

OneIdentity treat f[a] as equivalent to a, etc. (idempotence)

Function Argument Evaluation

HoldFirst  ▪  HoldRest  ▪  HoldAll  ▪  HoldAllComplete  ▪  SequenceHold

Numeric-Related Properties

NumericFunction treat as a numeric function

NHoldFirst  ▪  NHoldRest  ▪  NHoldAll

Constant treat as a constant in differentiation, etc.

Symbol Space

Stub stub created by DeclarePackage, etc.

Temporary temporary local variable from Module, etc.


Protected keep protected against redefinition

ReadProtected  ▪  Protect  ▪  Unprotect

Locked keep all attributes locked (settable but not clearable)

Function a pure function, potentially with attributes