Symbols starting with $ are variables changed/maintained by newLISP and in MAIN and globally accessible. The variables $0 to $15 are used to hold info from regular expressions and $0 also holds the replaced expression for several set- and the replace function. $idx is the current 'dolist' index. $args contains the list returned by the function 'args' and $main-args contains the list returned by the function 'main-args'. All of these are global and all except $0 to $15 are protected cannot be changed by the user. $0 to $15 can be set by the user because there are instances where this is necessary when working with regular expressions.
Symbols starting with $ also do not get saved when saving a context as in (save 'MyContext) or when serializing newLISP objects with 'source'.