is a global variable that gives an association with mappings from aliases to contexts.
$ContextAliases
is a global variable that gives an association with mappings from aliases to contexts.
Details
- $ContextAliases takes the form <|"alias1`""context1`","alias2`""context2`",…|>, where aliasi can be any string of characters that could be used to create a legal symbol name. contexti must be a fully qualified context name.
- An alias can be used in place of a fully qualified context when referring to symbols. For a given symbol context`symbol, the name alias`symbol may be used in its place.
- $ContextAliases can be modified directly. It is also updated automatically by calls to Needs, EndPackage and End. »
Examples
open all close allBasic Examples (1)
Define a symbol in a specific context:
Context1`Context2`Square[x_] := x ^ 2Create an alias for Context1`Context2`:
$ContextAliases["cc`"] = "Context1`Context2`";Use the alias to reference the symbol:
cc`Square[5]$ContextAliases["cc`"]=.Scope (8)
Creating Context Aliases (4)
$ContextAliases must be an association with entries of the form "alias""context`":
$ContextAliases = "NewContext`"Aliases cannot represent relative contexts:
$ContextAliases["relative`"] = "`NewContext`"Aliases must form legal symbol names:
$ContextAliases["1701`"] = "NewContext`"$ContextAliases["ncc1701`"] = "NewContext`"Needs can create a context alias:
Needs["Developer`" -> "d`"]
$ContextAliases["d`"]Use PackedArrayQ from the Developer Utilities Package:
d`PackedArrayQ[Range[10]]Since "Developer`" is not on $ContextPath, the unqualified symbol name is not resolved:
PackedArrayQ[Range[10]]Using Context Aliases (4)
Aliases are resolved before creating new symbols:
$ContextAliases["abc`"] = "ExampleContext`";
abc`newsymbolAn alias may represent multiple levels of contexts:
$ContextAliases["es`"] = "ExampleContext1`SubContext2`";
es`newsymbolAll ways of typing in a symbol respect context aliases:
$ContextAliases["abc`"] = "ExampleContext`";
DeleteDuplicates[{abc`x, Symbol["abc`x"], ToExpression["abc`x"]}]$ContextAliases = <|"alias1`" -> "Context1`", "alias2`" -> "Context2`"|>;
$ContextAliases["alias1`"]=.
$ContextAliases$ContextAliases = <|"alias1`" -> "Context1`", "alias2`" -> "Context2`"|>;
$ContextAliases=.
$ContextAliasesProperties & Relations (9)
Context aliases work in ToExpression:
NewContext`fun[x_] := x ^ 2;
$ContextAliases["abc`"] = "NewContext`";
ToExpression["abc`fun[x]"]A context alias is resolved in held evaluations:
$ContextAliases["abc`"] = "NewContext`";
Hold[abc`newSymbol]Symbol resolves context aliases:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol
Symbol["abc`newSymbol"]Changes made to aliases after BeginPackage will be restored after the matching EndPackage:
BeginPackage["MyPackage`"];
Needs["Experimental`" -> "ep`"];
$ContextAliases["ep2`"] = "ExamplePackage2`";
EndPackage[];
{$ContextAliases["ep`"], $ContextAliases["ep2`"]}End restores $ContextAliases to the value it had before the matching Begin:
Begin["`Private`"];
$ContextAliases["ep`"] = "ExamplePackage`";
End[];
$ContextAliasesNames resolves context aliases by default:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Names["abc`newSymbol"]Use the ResolveContextAliases option to prevent alias resolution:
Names["abc`newSymbol", ResolveContextAliases -> False]NameQ behaves identically:
{NameQ["abc`newSymbol"], NameQ["abc`newSymbol", ResolveContextAliases -> False]}Contexts resolves aliases by default:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Contexts["abc`"]Use the ResolveContextAliases option to prevent alias resolution:
Contexts["abc`", ResolveContextAliases -> False]Information resolves aliases by default:
$ContextAliases["abc`"] = "NewContext`";
abc`newSymbol;
Information["abc`newSymbol"]Information also uses aliases when resolving string patterns:
Information["a*c`newSymbol"]Use the ResolveContextAliases option to prevent alias resolution:
Information["abc`newSymbol", ResolveContextAliases -> False]An active alias cannot be added to $ContextPath:
$ContextAliases["abc`"] = "NewContext`";
AppendTo[$ContextPath, "abc`"];
$ContextPathPossible Issues (1)
Aliases can mask existing contexts:
cont`x = 7;$ContextAliases["cont`"] = "othercont`"Because of the aliases, the symbol cont`x is not accessible:
cont`xRemoving the clashing alias will restore access to the masked context:
$ContextAliases["cont`"]=.cont`xTech Notes
Related Guides
History
Text
Wolfram Research (2021), $ContextAliases, Wolfram Language function, https://reference.wolfram.com/language/ref/$ContextAliases.html.
CMS
Wolfram Language. 2021. "$ContextAliases." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/$ContextAliases.html.
APA
Wolfram Language. (2021). $ContextAliases. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/$ContextAliases.html
BibTeX
@misc{reference.wolfram_2026_$contextaliases, author="Wolfram Research", title="{$ContextAliases}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/$ContextAliases.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_$contextaliases, organization={Wolfram Research}, title={$ContextAliases}, year={2021}, url={https://reference.wolfram.com/language/ref/$ContextAliases.html}, note=[Accessed: 13-June-2026]}