So I am able to get objects with +, -, *, and ^ in the name to compile as individual files, I was not able to get objects with / in the name to work, plus they might cause problems with geiger namespaces (i.e. [libname/object]). But the only problem left is the setup functions.
AFAIK you are not allowed to have setup functions named mtx_+_setup(), mtx_-_setup() , etc. So if pd would translate the symbols to a word, like "mtx_plus_setup", like it does for ~, then this whole thing would work.
Currently, there is a little workaround for objects with aliases. If you load [mtx_sub], for example, then you can load [mtx_-] since [mtx_sub] will generate the symbol "mtx_-", etc.
.hc
________________________________________________________________________ ____
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore