FullDefinition

FullDefinition[symbol]

prints as the definitions given for symbol, and all symbols on which these depend.

FullDefinition[patt]

prints as the definitions given for the symbols whose names textually match the arbitrary string pattern patt, and all symbols on which these depend.

FullDefinition[{spec1,spec2,}]

prints as the definitions given for the symbols that are equal to or whose names match any of the speci, and all symbols on which these depend.

Details and Options

Examples

open allclose all

Basic Examples  (1)

Get all needed definitions for f, which depends on the function g:

Scope  (9)

Symbol Inputs  (4)

For built-in symbols, FullDefinition gives attributes, defaults and options, just like Definition does:

For user-defined symbols, FullDefinition gives attributes, defaults, options, messages and definitions:

Print the definitions of several symbols:

Use a combination of symbols and symbol names:

Using Patterns  (5)

Specify symbols as string patterns:

Get the definitions for all symbols in the current context:

Get the definitions for all symbols in a given context:

Get the definitions for all 2-character symbols in the current context using StringExpression:

Get the definitions for all 3-character symbols using RegularExpression:

Options  (2)

ExcludedContexts  (1)

By default, certain system-internal contexts are excluded from recursive inclusions:

Use ExcludedContexts{} to include definitions of all non-protected symbols:

IncludedContexts  (1)

Limit recursive inclusion of symbols to the contexts "c1`" and "c2`" only:

Properties & Relations  (8)

FullDefinition recursively prints the definitions of unprotected symbols appearing in the definition of a symbol:

Note that the definition of h is included, but not the definition of the protected symbol g:

For a symbol whose definition does not depend on others, FullDefinition is generally equivalent to Definition:

For read-protected symbols, definitions are not given:

FullDefinition gives attributes, defaults, options, messages and values:

FullDefintion[pattern] gives recursive definitions for the symbols returned by Names[pattern]:

Save writes the output of FullDefinition to a file:

Definition does not give messages:

FullDefinition does give messages:

Use Messages to get the messages:

FullDefinition has the attribute HoldAll:

This gives the definition of symbol itself:

This gives the definition of its value:

Possible Issues  (4)

FullDefinition is an output form; it does not evaluate:

By default, definitions attached to "System`" symbols are not pulled in:

Use ExcludedContexts{} to pull in definitions from all contexts:

Alternatively, attach definitions to your own symbols:

FullDefinition["symbol"] gives no values if there is no symbol named "symbol":

FullDefinition["symbol"] also gives no values if symbol has no values:

When using a pattern without a context mark, all definitions for matching symbols on $ContextPath are given:

Use a pattern with an explicit context mark to avoid potentially matching symbols from system or other contexts:

Wolfram Research (1988), FullDefinition, Wolfram Language function, https://reference.wolfram.com/language/ref/FullDefinition.html (updated 2022).

Text

Wolfram Research (1988), FullDefinition, Wolfram Language function, https://reference.wolfram.com/language/ref/FullDefinition.html (updated 2022).

CMS

Wolfram Language. 1988. "FullDefinition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/FullDefinition.html.

APA

Wolfram Language. (1988). FullDefinition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FullDefinition.html

BibTeX

@misc{reference.wolfram_2022_fulldefinition, author="Wolfram Research", title="{FullDefinition}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/FullDefinition.html}", note=[Accessed: 03-February-2023 ]}

BibLaTeX

@online{reference.wolfram_2022_fulldefinition, organization={Wolfram Research}, title={FullDefinition}, year={2022}, url={https://reference.wolfram.com/language/ref/FullDefinition.html}, note=[Accessed: 03-February-2023 ]}