I am a retired computer scientist with a keen interest in languages. My present main interest is the synchronic and diachronic structure of the Korean language.
Multigame is an implicitly-parallel, domain-speci c language for describing board games. The Mult... more Multigame is an implicitly-parallel, domain-speci c language for describing board games. The Multigame system automatically ex-ploits parallelism (by searching game trees in paral-lel), without any involvement from the programmer. The paper describes the ...
Languages with implicit parallelism are easier to program in than those wit h explicit par- allel... more Languages with implicit parallelism are easier to program in than those wit h explicit par- allelism, but finding and efficiently exploiting parallelism in general-p urpose programming languages by parallelizing compilers is hard. A compiler for a Very High Level Language, de- signed for a specific application domain, has more knowledge about its application domain and may use this knowledge to generate efficient parallel code without requiring the programmer to deal with explicit parallelism. To investigate this idea, we designed Multigame, a Very High Level Language for describing board games. A Multigame program is a formal description of the rules of a game, from which the Multigamecompiler automatically generates a parallel game playing program.
Mattole belongs to the Athabaskan language family, which is part of the Na-Dené phylum. This phyl... more Mattole belongs to the Athabaskan language family, which is part of the Na-Dené phylum. This phylum spreads over part of the West of the North-American continent, with three separate regions of speakers: West Canada, North California and Arizona and New Mexico. Mattole was spoken in North-West California, near the mouth of the Mattole river [lit.ref. 2]. By the time it was recorded [lit.ref. 1] (1930), there were only one or two speakers
Preface 1 Aspects of Programming Languages 1.1 Why programming languages? 1.2 Some history 1.3 Pa... more Preface 1 Aspects of Programming Languages 1.1 Why programming languages? 1.2 Some history 1.3 Paradigms and the structure of this book 1.4 The structure of programs 1.5 Programming languages as communication media 1.6 Managing and reducing complexity 1.7 Program processing Summary Bibliographical notes Exercises 2 Imperative Languages 2.1 Principles 2.2 Data 2.3 State 2.4 Flow-of-control 2.5 Program composition 2.6 Examples of imperative languages Summary Bibliographical notes Exercises 3 Object-oriented Languages 3.1 principles 3.2 Classes 3.3 Inheritance 3.4 Inheritance and class hierarchies 3.5 Inheritance and types 3.6 Inheritance and polymorphism 3.7 Dynamic binding 3.8 Reference semantics 3.9 When to use inheritance 3.10 Discussion 3.11 Example languages Summary Bibliographical notes Exercises 4 Functional Languages 4.1 Principles 4.2 Functions 4.3 Lists 4.4 Types and polymorphisms 4.5 Higher-order function s 4.6 Currying 4.7 Lazy evaluation 4.8 Equations and pattern matching...
Multigame is an implicitly-parallel, domain-speci c language for describing board games. The Mult... more Multigame is an implicitly-parallel, domain-speci c language for describing board games. The Multigame system automatically ex-ploits parallelism (by searching game trees in paral-lel), without any involvement from the programmer. The paper describes the ...
Languages with implicit parallelism are easier to program in than those wit h explicit par- allel... more Languages with implicit parallelism are easier to program in than those wit h explicit par- allelism, but finding and efficiently exploiting parallelism in general-p urpose programming languages by parallelizing compilers is hard. A compiler for a Very High Level Language, de- signed for a specific application domain, has more knowledge about its application domain and may use this knowledge to generate efficient parallel code without requiring the programmer to deal with explicit parallelism. To investigate this idea, we designed Multigame, a Very High Level Language for describing board games. A Multigame program is a formal description of the rules of a game, from which the Multigamecompiler automatically generates a parallel game playing program.
Mattole belongs to the Athabaskan language family, which is part of the Na-Dené phylum. This phyl... more Mattole belongs to the Athabaskan language family, which is part of the Na-Dené phylum. This phylum spreads over part of the West of the North-American continent, with three separate regions of speakers: West Canada, North California and Arizona and New Mexico. Mattole was spoken in North-West California, near the mouth of the Mattole river [lit.ref. 2]. By the time it was recorded [lit.ref. 1] (1930), there were only one or two speakers
Preface 1 Aspects of Programming Languages 1.1 Why programming languages? 1.2 Some history 1.3 Pa... more Preface 1 Aspects of Programming Languages 1.1 Why programming languages? 1.2 Some history 1.3 Paradigms and the structure of this book 1.4 The structure of programs 1.5 Programming languages as communication media 1.6 Managing and reducing complexity 1.7 Program processing Summary Bibliographical notes Exercises 2 Imperative Languages 2.1 Principles 2.2 Data 2.3 State 2.4 Flow-of-control 2.5 Program composition 2.6 Examples of imperative languages Summary Bibliographical notes Exercises 3 Object-oriented Languages 3.1 principles 3.2 Classes 3.3 Inheritance 3.4 Inheritance and class hierarchies 3.5 Inheritance and types 3.6 Inheritance and polymorphism 3.7 Dynamic binding 3.8 Reference semantics 3.9 When to use inheritance 3.10 Discussion 3.11 Example languages Summary Bibliographical notes Exercises 4 Functional Languages 4.1 Principles 4.2 Functions 4.3 Lists 4.4 Types and polymorphisms 4.5 Higher-order function s 4.6 Currying 4.7 Lazy evaluation 4.8 Equations and pattern matching...
Uploads
Papers by Dick Grune