This book provides an in depth analysis of the different ways in which bilingual speakers switch from one language to another in the course of conversation. This phenomenon, known as code-mixing or code-switching, takes many forms. Pieter Muysken adopts a comparative approach to distinguish between the different types of code-mixing, drawing on a wealth of data from bilingual settings throughout the world. His study identifies three fundamental and distinct patterns of mixing - 'insertion', 'alternation' and 'congruent lexicalization' - and sets out to discover whether the choice of a particular mixing strategy depends on the contrasting grammatical properties of the languages involved, the degree of bilingual competence of the speaker or various social factors. The book synthesizes a vast array of recent research in a rapidly growing field of study which has much to reveal about the structure and function of language.