When analyzing the theoretical expressive power of programming languages (not the verbosity of the programming languages or how concise programs are) are there further criteria besides the class of formal grammar in the Chomsky's hierarchy and the type of logic chosen (for example first/second/higher-order, type logic or whatever other logic formalism)?
Is there an analysis of expressive power of data structures? Are there other constrains that limit the expressiveness of a computer language?
It seems that all these formalisms deal only with how we combine ideas, but not how well we can express an idea using a programming language. For example, they don't enter into the question of the limitations of an imaginary programming language with only a binary and integer primitive type.