I am not sure these are the best ways but they should work.
You could do what you did with Dimensions
for all the symbols in Combinatorica`
For example, running this
replaceAndLoad[context_String -> toContext_String] :=
Block[{$ContextPath},
Needs[context];
Scan[ToExpression[
toContext <> StringReplace[#, context ~~ sym__ :> sym] <>
"=" <> #] &, Names[context <> "*"]]
]
Now, do
replaceAndLoad["Combinatorica`" -> "Com`"]
You could also overload MakeExpression
to change Com to Combinatorica at the parsing stage... But I would probably do something different and basic, like an InputAlias
or InputAutoReplacement
, or Ctrl+k, to type faster. If you use InputAlias
or InputAutoReplacements
With these you could even replace them with a framed box in a special color that means "context combinatorica", or a tooltip, or simply an Interpretation
that writes Com`stuff
but is interpreted as Combinatorica`
...