Computation misrepresented: The procedural/declarative controversy exhumed

Although I am in basic agreement with Stabler's subtext that the role played in human linguistic behaviour by rules of a grammar is unclear from a philosophical perspective, and at best underdetermined by the available empirical evidence I cannot agree with the main thrust of his supporting argument. It is based on a faulty model of computation and depends on a distinction without a difference between execution and use. The question he claims to address is whether or not mentally represented grammars play a causal role in linguistic behaviour. The question he actually addresses is whether that role is transparent or opaque. There are three points I wish to consider: the computational framework: the hypotheses H3 and Hb; plasticity and Occam. 1. The computational framework. Stabler's characterisation of a third-level or "program-using" system is at best confusing and at worst incorrect. He uses the phrases state of the system and control state without making clear their relationship, and in ways which violate their ordinary usages. As nearly as I can make out, Stabler uses the phrase control state to denote a function from some unspecified subset of the state of the machine to functions from (encodings of) program statements to states of the machine. A more traditional and much simpler use of these words would say that a program-using system implements a single interpretation function which maps from machine states to machine states, and that within machine states it is sometimes useful to distinguish control state from memory state. In the first instance this story is usually told at the machine-language level it is easy to see, for instance, how it applies to Turing machines or simple microprocessors but it is straightforward to extend it to the level of virtual machines interpreting higher-level languages. At the machine level, one can identify instructions, which are the principal determinant of overall system behaviour, while at a higher level of abstraction one might speak of program statements, as Stabler does. The problem with Stabler's approach is that it encourages him to make a distinction between grammars as programs and grammars as data which just isn't there. One would have hoped that the advent of PROLOG would have dispelled this aspect of the procedural/declarative confusion forever, but apparently it hasn't. As Pereira and Warren (1980) make clear, a minor augmentation of the PROLOG virtual machine allows it to use both ordinary and decorated context-free phrase structure rules as program statements, thereby effecting a parsing program. 2. The hypotheses H3 and Hb. This leads us to the next point, which is whether Stabler's hypotheses represent resonable straw men or not. Although he presents H3 as a fair expression of the computational implications of M, it seems to me that with respect to the distinction he is trying to draw between execution and use it is not fair. The crucial question is whether a representation of the grammar functions causally in language processing the nature of the virtual machine with respect to which that causation has effect is not in the first instance at issue. To the extent that linguists have thought about this, I believe that their bias has always been in the other direction from H3, rather towards Hd. Starting with Chomsky's involvement with the Harvard Syntactic Analyser (Kuno & Oettinger 1963), through cognitive grammar (Lakoff & Thompson 1975), lexical function grammar (Bresnan & Kaplan, 1982a), and generalized phrase structure grammar (Gazdar 1982), the computational linguistic models on which linguists have drawn have all been of the "parsing program plus grammatical data base" (read "grammarCommentary/Stabler. How are grammars represented?