I'm interested in Mathematica's core language for both practical development and as an object of computer science study. Actually, the former is more of a means to the latter. I would like to create complete applications, but mainly to get experience and ideas for creating my own language. I have many ideas for it already, and one of them is to explore Mathematica's unique M-expression syntax, rule-based programming, and other interesting semantics. To this end, I have two questions:
Is the language specification available anywhere? And are there any particularly significant resources on Mathematica as a language?
Are there any legal restrictions on applications created and/or compiled with Mathematica, and if so, do they differ between offerings?