Is it possible to assign custom attributes to symbols and check them later?
SetAttributes[a, b] says
Attributes::attnf: b is not a known attribute. No, I do not believe it is. As the documentation for your error message says:
The attributes available in each version of Mathematica are fixed and cannot be changed.
The system attributes are low level properties that fundamentally change the evaluation of symbols. I think it makes sense that these are not mixed with high-level user constructs, even though at times that would be quite convenient.
For an alternative remember that you can attach Options to a symbol, e.g.:
Options[a] = {"Attributes" -> {"b"}}; OptionValue[a, "Attributes"] {"b"}
You could also use a single DownValues rule such as:
a["Attributes"] = {"b"}; a["Attributes"] {"b"}
SetOptions function. $\endgroup$ SetOptions[a, "Attributes" -> {"c", "d"}]; or a["Attributes"] = {"c", "d"}; Are you asking for a way to individually append or remove these values as SetAttributes and ClearAttributes do? I could add that to my answer if you have trouble crafting it yourself. $\endgroup$