Marr's three levels: A re-evaluation

Marr's account of the analysis of complex information-processing tasks as having three levels — the levels of computational theory, representation and algorithm, and hardware implementation — is reconsidered. I argue that the notion of “level” here runs together two distinctive sort of explanatory shifts — that of grain and that of contextual function. I then offer a revision of the account which avoids this problem, and suggest how this might play a role in the practice of theory evaluation.