What are the landmarks of the cognitive revolution? What are the core topics of modern cognitive science? Where is cognitive science heading to? Leading cognitive scientists--Chomsky, Pylyshyn, Gallistel, and others--examine their own work in relation to one of cognitive science's most influential and polemical figures: Jerry Fodor.
Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.
A COMPANION TO CHOMSKY Widely considered to be one of the most important public intellectuals of our time, Noam Chomsky has revolutionized modern linguistics. His thought has had a profound impact upon the philosophy of language, mind, and science, as well as the interdisciplinary field of cognitive science which his work helped to establish. Now, in this new Companion dedicated to his substantial body of work and the range of its influence, an international assembly of prominent linguists, philosophers, and cognitive scientists reflect upon the interdisciplinary reach of Chomsky's intellectual contributions. Balancing theoretical rigor with accessibility to the non-specialist, the Companion is organized into eight sections—including the historical development of Chomsky's theories and the current state of the art, comparison with rival usage-based approaches, and the relation of his generative approach to work on linguistic processing, acquisition, semantics, pragmatics, and philosophy of language. Later chapters address Chomsky's rationalist critique of behaviorism and related empiricist approaches to psychology, as well as his insistence upon a "Galilean" methodology in cognitive science. Following a brief discussion of the relation of his work in linguistics to his work on political issues, the book concludes with an essay written by Chomsky himself, reflecting on the history and character of his work in his own words. A significant contribution to the study of Chomsky's thought, A Companion to Chomsky is an indispensable resource for philosophers, linguists, psychologists, advanced undergraduate and graduate students, and general readers with interest in Noam Chomsky's intellectual legacy as one of the great thinkers of the twentieth century.
Thecircleisclosed.The European Modula-2 Conference was originally launched with the goal of increasing the popularity of Modula-2, a programming language created by Niklaus Wirth and his team at ETH Zuric ̈ h as a successor of Pascal. For more than a decade, the conference has wandered through Europe, passing Bled,Slovenia,in1987,Loughborough,UK,in1990,Ulm,Germany,in1994,and Linz, Austria, in 1997. Now, at the beginning of the new millennium, it is back at its roots in Zuric ̈ h, Switzerland. While traveling through space and time, the conference has mutated. It has widened its scope and changed its name to Joint Modular Languages Conference (JMLC). With an invariant focus, though, on modularsoftwareconstructioninteaching,research,and“outthere”inindustry. This topic has never been more important than today, ironically not because of insu?cient language support but, quite on the contrary, due to a truly c- fusing variety of modular concepts o?ered by modern languages: modules, pa- ages, classes, and components, the newest and still controversial trend. “The recent notion of component is still very vaguely de?ned, so vaguely, in fact, that it almost seems advisable to ignore it.” (Wirth in his article “Records, Modules, Objects, Classes, Components” in honor of Hoare’s retirement in 1999). Clar- cation is needed.
The book explores two fundamental aspects of the human mind and their relation to one another. The first is the way that information is put to use in the mind. When we are doing a mental arithmetic problem, for example, how do we bring the relevant bits of information to mind and hold them there while carrying out the series of calculations? This is working memory, the subject of an enormous research literature in psychology, neuroscience, and a great many other disciplines. Characterizing the working memory process is now a major part of efforts to understand the human mind. How we characterize this process depends of course on how we characterize the human mind as a whole. In particular, is the mind made up of a number of distinct units, each carrying out a specialized function? There is considerable reason to say that it is, and this modular view of the mind has become prominent in a great deal of academic work, notably in cognitive neuroscience, with important implications for our understanding of how working memory works. But these implications have received surprisingly little consideration to this point. The aim of the book is to explore this relation between working memory and modularity, first in general terms and then using a specific modular view of the mind – the Modular Cognition Framework. The ideas are illustrated and further developed through an application to language and especially second language acquisition and use.
This volume constitutes the proceedings of the sixth European Conference on Object-Oriented Programming (ECOOP), held in Utrecht, The Netherlands, June 29 - July 3, 1992. Since the "French initiative" to organize the first conference in Paris, ECOOP has been a very successful forum for discussing the state of the art of object orientation. ECOOP has been able to attract papers of a high scientific quality as well as high quality experience papers describing the pros and cons of using object orientation in practice. This duality between theory and practice within object orientation makes a good example of experimental computer science. The volume contains 24 papers, including two invited papers and 22 papers selected by the programme committee from 124 submissions. Each submitted paper was reviewed by 3-4 people, and the selection of papers was based only on the quality of the papers themselves.