Attributes modify the behavior of entire classes of functions. Here are posts on
Orderless,
Flat, and
OneIdentity.
Here is the List of the 19 Wolfram Language Attributes in v10. The indefatiguable Trott does something similar in his
Mathematica Guidebook for Programming.
allAttributes = {Orderless, Flat, OneIdentity, Listable, Constant,
NumericFunction, Protected, Locked, HoldFirst, HoldRest, HoldAll,
HoldAllComplete, NHoldFirst, NHoldFirst, NHoldRest, NHoldAll, SequenceHold,
Temporary, Stub}; Length@allAttributes
19
About 5000 of the built-in functions are Protected so I'll delete that one since it doesn't tell us much.
allAttributesLessProtected=DeleteCases[allAttributes,Protected]
{Orderless,Flat,OneIdentity,Listable,Constant,NumericFunction,Locked,HoldFirst,HoldRest,HoldAll,HoldAllComplete,NHoldFirst,NHoldFirst,NHoldRest,NHoldAll,SequenceHold,Temporary,Stub}
Collect all System Symbols. There are 5574 in version 10.2.
allSystemSymbols = Names@"System`*"; Length@allSystemSymbols
5574
Define a predicate to tell whether a Symbol has an Attribute or not, and make it Listable to automatically Map over a List argument.
SetAttributes[hasAttributeQ, Listable];
hasAttributeQ[symbol_, attribute_] :=
If[MemberQ[Attributes@symbol, attribute], True, False];
Now construct a Table of functions with any of the Attributes. Use Select to apply the predicate hasAttributeQ to each built-in function, and return it if it has an Attribute. I could not get the column label in TableHeadings to work so I used Labeled to add one to each group. The formatting and centering of the Label didn't translate to this blog format but if you execute the code you'll see the result.
Table[Select[hasAttributeQ[#,attribute]&]@allSystemSymbols//TableForm[#,TableHeadings->{Automatic,None}]&//Labeled[#,"\n"<>ToString@attribute,Top,LabelStyle->Directive[Large,Bold,FontFamily->"Times New Roman"]]&,{attribute,allAttributes}]//Column
Orderless
1
ArithmeticGeometricMean
2
BitAnd
3
BitOr
4
BitXor
5
CoprimeQ
6
DiracComb
7
DiracDelta
8
DiscreteDelta
9
Equivalent
10
GCD
11
HeavisideLambda
12
HeavisidePi
13
HeavisideTheta
14
KroneckerDelta
15
LCM
16
Majority
17
Max
18
Min
19
Multinomial
20
OrderlessPatternSequence
21
Plus
22
Times
23
UnitBox
24
UnitStep
25
UnitTriangle
26
Xnor
27
Xor
Flat
1
And
2
BitAnd
3
BitOr
4
BitXor
5
Composition
6
Dot
7
GCD
8
Intersection
9
Join
10
LCM
11
Max
12
Min
13
NonCommutativeMultiply
14
Or
15
PermutationProduct
16
Plus
17
RegionProduct
18
RightComposition
19
StringExpression
20
StringJoin
21
Times
22
Union
23
Xor
OneIdentity
1
And
2
BitAnd
3
BitOr
4
BitXor
5
Composition
6
Dot
7
GCD
8
Intersection
9
Join
10
LCM
11
Max
12
Min
13
NonCommutativeMultiply
14
Or
15
PermutationProduct
16
Plus
17
Power
18
RegionProduct
19
RightComposition
20
StringExpression
21
StringJoin
22
Times
23
Union
24
Xor
Listable
1
Abs
2
AbsArg
3
AiryAi
4
AiryAiPrime
5
AiryBi
6
AiryBiPrime
7
AlgebraicIntegerQ
8
AlgebraicNumberDenominator
9
AlgebraicNumberNorm
10
AlgebraicNumberTrace
11
AlgebraicUnitQ
12
Apart
13
ArcCos
14
ArcCosh
15
ArcCot
16
ArcCoth
17
ArcCsc
18
ArcCsch
19
ArcSec
20
ArcSech
21
ArcSin
22
ArcSinh
23
ArcTan
24
ArcTanh
25
Arg
26
ArithmeticGeometricMean
27
Attributes
28
BarnesG
29
BellB
30
BernoulliB
31
BesselI
32
BesselJ
33
BesselK
34
BesselY
35
Beta
36
BetaRegularized
37
Binomial
38
BitAnd
39
BitClear
40
BitGet
41
BitLength
42
BitNot
43
BitOr
44
BitSet
45
BitShiftLeft
46
BitShiftRight
47
BitXor
48
Boole
49
BooleanConvert
50
BooleanMinimize
51
Cancel
52
CarmichaelLambda
53
Ceiling
54
Characters
55
ChebyshevT
56
ChebyshevU
57
Coefficient
58
CompositeQ
59
Conjugate
60
ContinuedFraction
61
CoprimeQ
62
Cos
63
Cosh
64
Cot
65
Coth
66
CreateDirectory
67
Csc
68
Csch
69
CubeRoot
70
Cyclotomic
71
Decompose
72
DedekindEta
73
Denominator
74
DiracComb
75
DiracDelta
76
DirectedInfinity
77
Discriminant
78
Divide
79
Divisible
80
Divisors
81
DivisorSigma
82
EllipticE
83
EllipticF
84
EllipticK
85
EllipticPi
86
EllipticTheta
87
EllipticThetaPrime
88
Erf
89
Erfc
90
Erfi
91
EulerE
92
EulerPhi
93
EvenQ
94
Exp
95
ExpIntegralE
96
ExpIntegralEi
97
Exponent
98
ExpToTrig
99
ExtendedGCD
100
Factor
101
Factorial
102
Factorial2
103
FactorialPower
104
FactorInteger
105
FactorSquareFree
106
Fibonacci
107
Fibonorial
108
Floor
109
FractionalPart
110
Gamma
111
GammaRegularized
112
GCD
113
GegenbauerC
114
Gudermannian
115
HankelH1
116
HankelH2
117
HarmonicNumber
118
Haversine
119
HeavisideLambda
120
HeavisidePi
121
HeavisideTheta
122
HermiteH
123
HurwitzLerchPhi
124
HurwitzZeta
125
Hypergeometric0F1
126
Hypergeometric0F1Regularized
127
Hypergeometric1F1
128
Hypergeometric1F1Regularized
129
Hypergeometric2F1
130
Hypergeometric2F1Regularized
131
HypergeometricU
132
Im
133
In
134
InString
135
IntegerDigits
136
IntegerExponent
137
IntegerLength
138
IntegerPart
139
IntegerString
140
IntervalMemberQ
141
InverseGudermannian
142
InverseHaversine
143
IrreduciblePolynomialQ
144
JacobiP
145
JacobiSymbol
146
JacobiZeta
147
KelvinBei
148
KelvinBer
149
KelvinKei
150
KelvinKer
151
LaguerreL
152
LambertW
153
LCM
154
LegendreP
155
LegendreQ
156
LerchPhi
157
Limit
158
Log
159
Log10
160
Log2
161
LogBarnesG
162
LogGamma
163
LogIntegral
164
LogisticSigmoid
165
LucasL
166
MakeExpression
167
MantissaExponent
168
MathieuC
169
MathieuCharacteristicA
170
MathieuCharacteristicB
171
MathieuCharacteristicExponent
172
MathieuCPrime
173
MathieuS
174
MathieuSPrime
175
MessageList
176
MinimalPolynomial
177
Minus
178
Mod
179
MoebiusMu
180
Multinomial
181
Negative
182
NonNegative
183
NonPositive
184
NumberFieldDiscriminant
185
NumberFieldFundamentalUnits
186
NumberFieldIntegralBasis
187
NumberFieldNormRepresentatives
188
NumberFieldRegulator
189
NumberFieldRootsOfUnity
190
NumberFieldSignature
191
Numerator
192
OddQ
193
Out
194
ParabolicCylinderD
195
PartitionsP
196
PartitionsQ
197
Plus
198
Pochhammer
199
PolyGamma
200
PolyLog
201
PolynomialGCD
202
PolynomialLCM
203
Positive
204
PossibleZeroQ
205
Power
206
PowerMod
207
Prime
208
PrimePi
209
PrimeQ
210
PrimitiveRoot
211
ProductLog
212
QBinomial
213
QFactorial
214
QGamma
215
QPochhammer
216
QPolyGamma
217
QuadraticIrrationalQ
218
QuantityVariableCanonicalUnit
219
QuantityVariableDimensions
220
QuantityVariableIdentifier
221
QuantityVariablePhysicalQuantity
222
Quotient
223
QuotientRemainder
224
Range
225
Re
226
RealDigits
227
RealExponent
228
ReIm
229
RemoveScheduledTask
230
Resultant
231
RiemannSiegelTheta
232
RiemannSiegelZ
233
RootApproximant
234
RootOfUnityQ
235
Round
236
Sec
237
Sech
238
Sign
239
Sin
240
Sinc
241
Sinh
242
SphericalBesselJ
243
SphericalBesselY
244
SphericalHankelH1
245
SphericalHankelH2
246
SphericalHarmonicY
247
SpheroidalEigenvalue
248
SpheroidalPS
249
SpheroidalPSPrime
250
SpheroidalQS
251
SpheroidalQSPrime
252
SpheroidalS1
253
SpheroidalS1Prime
254
SpheroidalS2
255
SpheroidalS2Prime
256
Sqrt
257
StirlingS1
258
StirlingS2
259
StopScheduledTask
260
StringByteCount
261
StringLength
262
StringReverse
263
StruveH
264
StruveL
265
Subtract
266
Surd
267
Tan
268
Tanh
269
Times
270
ToExpression
271
Together
272
ToHeldExpression
273
ToLowerCase
274
ToUpperCase
275
TrigFactor
276
TrigToExp
277
UnitBox
278
UnitDimensions
279
Unitize
280
UnitSimplify
281
UnitStep
282
UnitTriangle
283
WhittakerM
284
WhittakerW
285
Zeta
Constant
1
Catalan
2
Degree
3
E
4
EulerGamma
5
Glaisher
6
GoldenAngle
7
GoldenRatio
8
Khinchin
9
MachinePrecision
10
Pi
NumericFunction
1
Abs
2
AiryAi
3
AiryAiPrime
4
AiryBi
5
AiryBiPrime
6
ArcCos
7
ArcCosh
8
ArcCot
9
ArcCoth
10
ArcCsc
11
ArcCsch
12
ArcSec
13
ArcSech
14
ArcSin
15
ArcSinh
16
ArcTan
17
ArcTanh
18
Arg
19
ArithmeticGeometricMean
20
BarnesG
21
BesselI
22
BesselJ
23
BesselK
24
BesselY
25
Beta
26
BetaRegularized
27
Binomial
28
BSplineBasis
29
Ceiling
30
ChebyshevT
31
ChebyshevU
32
Clip
33
Conjugate
34
Cos
35
Cosh
36
Cot
37
Coth
38
Csc
39
Csch
40
CubeRoot
41
DedekindEta
42
DiracComb
43
DiscreteDelta
44
Divide
45
EllipticE
46
EllipticF
47
EllipticK
48
EllipticPi
49
EllipticTheta
50
EllipticThetaPrime
51
Erf
52
Erfc
53
Erfi
54
Exp
55
ExpIntegralE
56
ExpIntegralEi
57
Factorial
58
Factorial2
59
FactorialPower
60
Fibonacci
61
Floor
62
FractionalPart
63
Gamma
64
GammaRegularized
65
GegenbauerC
66
Gudermannian
67
HankelH1
68
HankelH2
69
HarmonicNumber
70
Haversine
71
HeavisideLambda
72
HeavisidePi
73
HermiteH
74
HurwitzLerchPhi
75
HurwitzZeta
76
Hypergeometric0F1
77
Hypergeometric0F1Regularized
78
Hypergeometric1F1
79
Hypergeometric1F1Regularized
80
Hypergeometric2F1
81
Hypergeometric2F1Regularized
82
HypergeometricU
83
Im
84
IntegerPart
85
InverseGudermannian
86
InverseHaversine
87
JacobiP
88
JacobiZeta
89
KelvinBei
90
KelvinBer
91
KelvinKei
92
KelvinKer
93
KroneckerDelta
94
LaguerreL
95
LegendreP
96
LegendreQ
97
LerchPhi
98
Log
99
Log10
100
Log2
101
LogBarnesG
102
LogGamma
103
LogIntegral
104
LogisticSigmoid
105
LucasL
106
MathieuC
107
MathieuCharacteristicA
108
MathieuCharacteristicB
109
MathieuCharacteristicExponent
110
MathieuCPrime
111
MathieuS
112
MathieuSPrime
113
Max
114
Min
115
Minus
116
Mod
117
Multinomial
118
ParabolicCylinderD
119
Plus
120
Pochhammer
121
PolyGamma
122
PolyLog
123
Power
124
QBinomial
125
QFactorial
126
QGamma
127
QHypergeometricPFQ
128
QPochhammer
129
QPolyGamma
130
Quotient
131
QuotientRemainder
132
Re
133
Rescale
134
RiemannSiegelTheta
135
RiemannSiegelZ
136
Round
137
Sec
138
Sech
139
Sign
140
Sin
141
Sinc
142
Sinh
143
SphericalBesselJ
144
SphericalBesselY
145
SphericalHankelH1
146
SphericalHankelH2
147
SphericalHarmonicY
148
SpheroidalEigenvalue
149
SpheroidalPS
150
SpheroidalPSPrime
151
SpheroidalQS
152
SpheroidalQSPrime
153
SpheroidalS1
154
SpheroidalS1Prime
155
SpheroidalS2
156
SpheroidalS2Prime
157
Sqrt
158
StruveH
159
StruveL
160
Subtract
161
Surd
162
Tan
163
Tanh
164
Times
165
UnitBox
166
UnitStep
167
UnitTriangle
168
WhittakerM
169
WhittakerW
170
Zeta
Locked
1
False
2
I
3
List
4
Locked
5
Remove
6
Removed
7
Symbol
8
TooBig
9
True
10
$Aborted
11
$BatchOutput
12
$CommandLine
13
$CreationDate
14
$InitialDirectory
15
$Input
16
$InputStreamMethods
17
$LinkSupported
18
$MachineType
19
$MinorReleaseNumber
20
$Off
21
$OperatingSystem
22
$OutputStreamMethods
23
$PipeSupported
24
$PrintForms
25
$PrintLiteral
26
$ProcessorType
27
$ProductInformation
28
$ReleaseNumber
29
$ScriptCommandLine
30
$System
31
$SystemID
32
$SystemMemory
33
$SystemWordLength
34
$TimeUnit
35
$Version
36
$VersionNumber
HoldFirst
1
AddTo
2
AppendTo
3
AssociateTo
4
AutoRefreshed
5
Catch
6
ClearAttributes
7
CloudEvaluate
8
CloudSave
9
CloudSubmit
10
Context
11
Control
12
CreateScheduledTask
13
Debug
14
Decrement
15
Delayed
16
DialogReturn
17
DisplayWithRef
18
DivideBy
19
Dynamic
20
Inactivate
21
Inactive
22
Increment
23
KeyDropFrom
24
Message
25
MessageName
26
MessagePacket
27
NCache
28
Pattern
29
PreDecrement
30
PreIncrement
31
PrependTo
32
Reap
33
RefBox
34
Refresh
35
RepeatedTiming
36
ResponseForm
37
RuleCondition
38
RunScheduledTask
39
Set
40
SetAttributes
41
Stack
42
SubtractFrom
43
TableViewBox
44
TimesBy
45
Unset
46
UpSet
47
UsingFrontEnd
48
WaitUntil
HoldRest
1
Assuming
2
Button
3
DumpSave
4
DynamicWrapper
5
DynamicWrapperBox
6
FirstCase
7
FirstPosition
8
If
9
MenuItem
10
PatternTest
11
Quantity
12
RuleDelayed
13
Save
14
SelectFirst
15
Switch
HoldAll
1
AbortProtect
2
AbsoluteTiming
3
And
4
Animate
5
Arrow3DBox
6
ArrowBox
7
Attributes
8
BezierCurve3DBox
9
BezierCurveBox
10
Block
11
BlockRandom
12
BSplineCurve3DBox
13
BSplineCurveBox
14
BSplineSurface3DBox
15
CancelButton
16
Check
17
CheckAbort
18
CheckAll
19
ChoiceButtons
20
CircleBox
21
Clear
22
ClearAll
23
Compile
24
CompiledFunction
25
CompoundExpression
26
Condition
27
ConeBox
28
ConicHullRegion3DBox
29
ConicHullRegionBox
30
ConsoleMessage
31
ContinuedFractionK
32
ContinuousTask
33
ContourPlot
34
ContourPlot3D
35
ControlActive
36
ControllerManipulate
37
CuboidBox
38
CylinderBox
39
DefaultButton
40
DefaultValues
41
Defer
42
Definition
43
DensityPlot
44
Dialog
45
DialogInput
46
DiskBox
47
Do
48
DownValues
49
DynamicBox
50
DynamicModule
51
DynamicModuleBox
52
Exists
53
FileName
54
FilledCurveBox
55
FindArgMax
56
FindArgMin
57
FindMaximum
58
FindMaxValue
59
FindMinimum
60
FindMinValue
61
FindRoot
62
For
63
ForAll
64
FormatValues
65
FullDefinition
66
Function
67
GeometricTransformation3DBox
68
GeometricTransformationBox
69
Graphics3DBox
70
GraphicsBox
71
GraphicsComplex3DBox
72
GraphicsComplexBox
73
GraphicsGroup3DBox
74
GraphicsGroupBox
75
GraphPropertyDistribution
76
HexahedronBox
77
Hold
78
HoldForm
79
HoldPattern
80
ImplicitRegion
81
Information
82
Inset3DBox
83
InsetBox
84
Interpretation
85
JoinedCurveBox
86
KnownUnitQ
87
Line3DBox
88
LineBox
89
LineIntegralConvolutionPlot
90
Literal
91
LogLinearPlot
92
LogLogPlot
93
LogPlot
94
Manipulate
95
MatchLocalNameQ
96
MaxMemoryUsed
97
MemoryConstrained
98
Messages
99
Module
100
Monitor
101
Nand
102
NIntegrate
103
Nor
104
NProduct
105
NSum
106
NValues
107
Off
108
On
109
Or
110
OwnValues
111
ParametricPlot
112
ParametricPlot3D
113
ParametricRegion
114
Piecewise
115
Play
116
Plot
117
Plot3D
118
Point3DBox
119
PointBox
120
PolarPlot
121
Polygon3DBox
122
PolygonBox
123
PrismBox
124
Product
125
Protect
126
PyramidBox
127
Quiet
128
Raster3DBox
129
RasterBox
130
RectangleBox
131
RegionPlot
132
RegionPlot3D
133
Remove
134
RevolutionPlot3D
135
SampledSoundFunction
136
ScheduledTask
137
ScheduledTaskObject
138
SetDelayed
139
SphereBox
140
SphericalPlot3D
141
StackBegin
142
StackComplete
143
StackInhibit
144
StreamDensityPlot
145
StreamPlot
146
SubValues
147
Sum
148
SurvivalModel
149
Table
150
TagSet
151
TagSetDelayed
152
TagUnset
153
TetrahedronBox
154
Text3DBox
155
TextBox
156
TimeConstrained
157
Timing
158
Trace
159
TraceDialog
160
TracePrint
161
TraceScan
162
TubeBezierCurveBox
163
TubeBox
164
TubeBSplineCurveBox
165
Unprotect
166
UpSetDelayed
167
UpValues
168
ValueQ
169
VectorDensityPlot
170
VectorPlot
171
VectorPlot3D
172
WhenEvent
173
Which
174
While
175
With
176
$ConditionHold
177
$Failed
HoldAllComplete
1
Assert
2
ColorQ
3
DebugTag
4
DisplayWith
5
DynamicImage
6
EvaluationData
7
GenerateHTTPResponse
8
HoldComplete
9
InterpretationBox
10
Lookup
11
MakeBoxes
12
ParametricFunction
13
Parenthesize
14
PreemptProtect
15
SystemException
16
Unevaluated
NHoldFirst
1
EllipticTheta
2
EllipticThetaPrime
3
FrontEndValueCache
4
MathieuC
5
MathieuCharacteristicA
6
MathieuCharacteristicB
7
MathieuCPrime
8
MathieuS
9
MathieuSPrime
10
QPolyGamma
NHoldFirst
1
EllipticTheta
2
EllipticThetaPrime
3
FrontEndValueCache
4
MathieuC
5
MathieuCharacteristicA
6
MathieuCharacteristicB
7
MathieuCPrime
8
MathieuS
9
MathieuSPrime
10
QPolyGamma
NHoldRest
1
Drop
2
Extract
3
GraphicsComplex
4
HeldPart
5
Indexed
6
Overscript
7
Part
8
Quantity
9
Subscript
10
Subsuperscript
11
Superscript
12
Take
13
TakeDrop
14
Underoverscript
15
Underscript
NHoldAll
1
AlgebraicNumber
2
BarabasiAlbertGraphDistribution
3
BernoulliGraphDistribution
4
C
5
CompiledFunction
6
Cycles
7
DateObject
8
DegreeGraphDistribution
9
Derivative
10
DifferenceRoot
11
DifferentialRoot
12
DivisorSigma
13
DivisorSum
14
Graph
15
Graph3D
16
InverseFunction
17
LibraryFunction
18
OptimumFlowData
19
PathGraph
20
PriceGraphDistribution
21
Root
22
ShortestPathFunction
23
Slot
24
SlotSequence
25
SpatialGraphDistribution
26
SurvivalModel
27
TemporalData
28
TimeObject
29
TreeGraph
30
UniformGraphDistribution
31
WattsStrogatzGraphDistribution
SequenceHold
1
AbsoluteTiming
2
RepeatedTiming
3
Rule
4
RuleDelayed
5
Set
6
SetDelayed
7
TagSet
8
TagSetDelayed
9
Timing
10
UpSet
11
UpSetDelayed
Temporary
1
Null$
2
\[FormalX]$
Stub
{}