It appears that ConTeXt is more structured than LaTeX2e in terms of naming scheme, key-value naming, macros, etc. However I haven't seen any guide or so that explains how this structure works.
Where should I look? How do I start learning?
What does ! used in macros mean? E.g., \v!foo, \v!bar.
What does _ used in macros mean? (I suppose this is just to add clarity)
And @? And ??
What is the meaning of \unexpanded\def\foo…?
Where do all of those \setupfoo come from? I don't see where they are defined.
How are all of those key=value defined?
This is just what came to my mind after reading a few lines of a small .mkiv file. I don't need the answer to all of this, I'm just trying to understand conventions rather than explicit problems. That's just an example of what might come to your mind after reading a little bit about the core of ConTeXt… and I'm not sure the answer to that is easily reachable on the web.
Most important, is there a way to learn that? Is it written somewhere?
\unexpandedin ConTeXt is the\protectedprimitive (which you can happily\show). – Joseph Wright Sep 03 '14 at 16:27\showand reading the source!). – Joseph Wright Sep 03 '14 at 16:38@is a literal@-- Btw. just start with the manual and ask on the mailing list, that’s the easiest way to answer your questions or make people answer. If in doubt, search the archives: http://dir.gmane.org/gmane.comp.tex.context – Philipp Gesang Sep 03 '14 at 17:11\s!doesn't search at all for anything like\s!… – Manuel Sep 03 '14 at 17:21