InitializationValue [sym]
represents the settable persistent value with which the symbol sym will be initialized.
InitializationValue ["context`name"]
represents the settable initialization value for the symbol with the specified complete name.
InitializationValue [sym,{loc1,…}]
specifies the persistence locations to search for a possible initialization value.
InitializationValue
InitializationValue [sym]
represents the settable persistent value with which the symbol sym will be initialized.
InitializationValue ["context`name"]
represents the settable initialization value for the symbol with the specified complete name.
InitializationValue [sym,{loc1,…}]
specifies the persistence locations to search for a possible initialization value.
Details and Options
- InitializationValue [sym] is equivalent to InitializationValue [sym,$PersistencePath ].
- InitializationValue [sym]=value sets an initialization value for sym.
- InitializationValue [sym]=value is equivalent to InitializationValue [sym,$PersistenceBase ]=value.
- The following options can be given:
-
- In InitializationValue [sym,loc], possible forms for the persistence location loc include:
-
"type" equivalent to PersistenceLocation ["type"]
- Supported location types include:
-
"KernelSession" current invocation of the Wolfram Language kernel"FrontEndSession" current invocation of the Wolfram Notebook front end"Local" local to a computer, based on user home directory"LocalShared" local to a computer, based on $BaseDirectory"Cloud" in the cloud defined by the current $CloudBase"Installation" installation defaults
- InitializationValue [sym]=$NoValue specifies that the symbol sym should be unset on initialization.
- The value returned from InitializationValue [sym,{loc1,loc2,…}] is obtained by applying the given merging function to the list of values {InitializationValue[sym,loc1],InitializationValue[sym,loc2],…}. The default merging function is First .
- If no explicit setting for MergingFunction is given, the setting to use is looked up on $PersistencePath .
- Before a new value is assigned in InitializationValue [sym]=value, any specified value preprocessing function is applied to value before the value is assigned.
- If the preprocessing function returns $Failed , the assignment is not performed.
- If no explicit setting for ValuePreprocessingFunction is given, the setting to use is looked up on $PersistencePath .
- An expired initialization value is treated as nonexistent, and the underlying persistent object may be removed.
- Initialization values can be removed with Remove . Remove [InitializationValue[name]] is equivalent to Remove [InitializationValue[name,$PersistenceBase ]].
Examples
open all close allBasic Examples (2)
Set a value to be evaluated every time the kernel starts:
Set an initialization value for a variable:
Get any initialization value defined:
Initialize the variable from the persistent value in the current kernel session:
Remove the initialization value:
Scope (1)
Set an initialization value in the default persistence location:
Set an initialization value in the "KernelSession" persistence location:
The first value found in $PersistencePath is used:
Find all initialization values ever defined:
Generalizations & Extensions (1)
Set an initialization value for parallel subkernels:
All newly launched parallel subkernels use the given value:
Remove the initialization value:
Options (5)
EvaluationEnvironment (1)
Set an initialization value for parallel subkernels:
MergingFunction (1)
Give a default value for a variable:
Set a custom merging function for initialization values of the variable:
Specify initialization values at different persistence locations:
The custom merging function is used to return the list of all values on $PersistencePath :
Use a different merging function for a particular value lookup:
ValuePreprocessingFunction (1)
Give a default value for an initialization value:
Set a a custom value preprocessing function that accepts only integers:
Assign an integer at any persistence location:
Assigning anything else generates an error, and the assignment is not performed:
PersistenceTime (1)
Define an initialization that will expire in 5 seconds:
ExpirationDate (1)
Define an initialization value that expires at the beginning of next year:
Applications (2)
Override the default persistence base in all kernels started under the current front end session:
Quit and restart the kernel:
Set a value for $GeoLocation tied to your login account:
Properties & Relations (2)
Initialization values are stored in persistent objects:
List the existing initialization values in all editable persistence locations:
Remove them:
Possible Issues (1)
Create two initialization values for a symbol in different locations:
Remove by default removes only the value in the location given by $PersistenceBase :
Remove all values that might exist anywhere in the locations given by $PersistencePath :
Related Guides
Related Workflows
Text
Wolfram Research (2017), InitializationValue, Wolfram Language function, https://reference.wolfram.com/language/ref/InitializationValue.html (updated 2019).
CMS
Wolfram Language. 2017. "InitializationValue." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/InitializationValue.html.
APA
Wolfram Language. (2017). InitializationValue. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/InitializationValue.html
BibTeX
@misc{reference.wolfram_2025_initializationvalue, author="Wolfram Research", title="{InitializationValue}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/InitializationValue.html}", note=[Accessed: 16-November-2025]}
BibLaTeX
@online{reference.wolfram_2025_initializationvalue, organization={Wolfram Research}, title={InitializationValue}, year={2019}, url={https://reference.wolfram.com/language/ref/InitializationValue.html}, note=[Accessed: 16-November-2025]}