I find that Mathematica's status-indication constants like $Failed, $Aborted, and $TimedOut are very useful, and would like to use them in my own code. Sometimes I'm tempted to create my own when developing packages, but that create context issues around where they're created, and prepending them with Global' all the time gets tedious.
So, it would be very helpful to have a list of all the $ constants that Mathematica uses, so that I can use them too. However, I have been unable to find such a list. Question 1: Does one exist?
Question 2: Any advice for creating similar constants that have a similarly global reach?
Names["System\$*"]will list all inbuilt symbols which start with$`. – Patrick Stevens Sep 09 '15 at 21:00Protectthem (or even set theLockedattribute) so that they can't be assigned a value. – Patrick Stevens Sep 09 '15 at 21:05$Failedis something I use frequently. I never directly pass$Aborted, it's generated during aborts. I don't think I've seen$TimedOutcome up. – Szabolcs Sep 09 '15 at 21:17If[response==$notReady,...]and the$notReadythrown by the generating code was in a different context than the evaluating code, the test might not evaluate toTrue. (I've had very traumatic experiences trying to make Mathematica respect my context intentions, so I'm gun-shy about this.) – ibeatty Sep 09 '15 at 21:18