%%% Multi-signed numbers

\TeX\ handles multiple signs properly:

\beginverbatim
\newdimen\scratchdimen
\scratchdimen 1pt \the\scratchdimen,
\scratchdimen -1pt \the\scratchdimen,
\scratchdimen --1pt \the\scratchdimen,
\scratchdimen ---1pt \the\scratchdimen,
\scratchdimen -+-+-+++-----+1pt \the\scratchdimen,
\endverbatim

So, there never is a need to use an intermediate variable to negate a value. All
digits, $+$/$-$ signs and units can be faked in macros:

\beginverbatim
\def\neg{-} \def\p{p}
\scratchdimen \neg\space\neg\space\space00001\empty\p\empty\empty tttt
\endverbatim

One may also notice that white characters are allowed between multiple signs
(but not between digits!), leading zeros are ignored, and the unit is
properly interpreted regardless of the very next character.

\endinput
