Thunks and the Λ-Calculus Copyright C 1996, BRICS, Department of Computer Science

Total Page:16

File Type:pdf, Size:1020Kb

Thunks and the Λ-Calculus Copyright C 1996, BRICS, Department of Computer Science BRICS BRICS RS-96-19 Hatcliff & Danvy: Thunks and the Basic Research in Computer Science Thunks and the λ-Calculus λ John Hatcliff -Calculus Olivier Danvy BRICS Report Series RS-96-19 ISSN 0909-0878 June 1996 Copyright c 1996, BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent publications in the BRICS Report Series. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus Ny Munkegade, building 540 DK - 8000 Aarhus C Denmark Telephone: +45 8942 3360 Telefax: +45 8942 3255 Internet: [email protected] BRICS publications are in general accessible through WWW and anonymous FTP: http://www.brics.dk/ ftp ftp.brics.dk (cd pub/BRICS) Thunks and the λ-calculus ∗ John Hatcliff † Olivier Danvy DIKU BRICS § Copenhagen University ‡ Aarhus University ¶ ([email protected]) ([email protected]) May 1996 Abstract Thirty-five years ago, thunks were used to simulate call-by-name under call-by-value in Algol 60. Twenty years ago, Plotkin presented continuation-based simulations of call-by-name under call-by-value and vice versa in the λ-calculus. We connect all three of these classical simulations by factorizing the continuation-based call-by-name simu- lation n with a thunk-based call-by-name simulation followed by C T the continuation-based call-by-value simulation v extended to thunks. C Λ F T / Λthunks F F F F F F F F v n F F C C F F" ΛCPS We show that actually satisfies all of Plotkin’s correctness cri- T teria for n (i.e.,hisIndifference, Simulation,andTranslation C theorems). Furthermore, most of the correctness theorems for n can C now be seen as simple corollaries of the corresponding theorems for v and . C T ∗To appear in the Journal of Functional Programming. †Supported by the Danish Research Academy and by the DART project (Design, Anal- ysis and Reasoning about Tools) of the Danish Research Councils. ‡Computer Science Department, Universitetsparken 1, 2100 Copenhagen Ø, Denmark. §Basic Research in Computer Science, Centre of the Danish National Research Foundation. ¶Computer Science Department, Ny Munkegade, B. 540, 8000 Aarhus C, Denmark. 1 1 Introduction In his seminal paper, “Call-by-name, call-by-value and the λ-calculus” [27], Plotkin presents simulations of call-by-name by call-by-value (and vice- versa). Both of Plotkin’s simulations rely on continuations. Since Algol 60, however, programming wisdom has it that thunks canbeusedtoobtain a simpler simulation of call-by-name by call-by-value. We show that compos- ing a thunk-based call-by-name simulation with Plotkin’s continuation- T based call-by-value simulation v actually yields Plotkin’s continuation- C based call-by-name simulation n (Sections 2 and 3). Revisiting Plotkin’s correctness theorems (Section 4),C we provide a correction to his Transla- tion property for n, and show that the thunk-based simulation satisfies C T all of Plotkin’s properties for n. The factorization of n by v and makes C C C T it possible to derive correctness properties for n from the corresponding C results for v and . This factorization has also found several other appli- cations alreadyC (SectionT 5). The extended version of this paper [15] gives a more detailed development as well as all proofs. 2 Continuation-based and Thunk-based Simulations We consider Λ, the untyped λ-calculus parameterized by a set of basic con- stants b [27, p. 127]. e Λ ∈ e ::= b x λx.e e0 e1 | | | The sets Valuesn [Λ] and Valuesv [Λ] below represent the set of values from the language Λ under call-by-name and call-by-value evaluation respectively. v Valuesn [Λ] v Valuesv [Λ] ∈ ∈ ...where e Λ v ::= b λx.e v ::= b x λx.e ∈ | | | Figure 1 displays Plotkin’s call-by-name CPS transformation n (which simulates call-by-name under call-by-value). (Side note: the termC “CPS” stands for “Continuation-Passing Style”. It was coined in Steele’s MS the- sis [35].) Figure 2 displays Plotkin’s call-by-value CPS transformation v (which simulates call-by-value under call-by-name). Figure 3 displays theC standard thunk-based simulation of call-by-name using call-by-value evalu- ation of the language Λτ .Λτ extends Λ as follows. e Λτ e ::=∈ ... delay e force e | | 2 n [ ] :ΛΛ C h·i → n[v]=λk.k n v Chi C h i n [x] = λk.x k C h i n [e0 e1] = λk. n [e0] (λy0.y0 n [e1] k) C h i C h i C h i n : Valuesn[Λ] Λ C h·i → n b = b C h i n λx.e = λx. n [e] C h i C h i Figure 1: Call-by-name CPS transformation v [ ] :ΛΛ C h·i → v[v]=λk.k v v Chi C h i v [e0 e1] = λk. v [e0] (λy0. v [e1] (λy1.y0 y1 k)) C h i C h i C h i v : Valuesv [Λ] Λ C h·i → v b = b C h i v x = x C h i v λx.e = λx. v [e] C h i C h i Figure 2: Call-by-value CPS transformation :ΛΛτ T → [b] = b Th i [x] = force x Th i [λx.e] = λx. [e] Th i Th i [e0e1] = [e0] (delay [e1]) Th i Th i Th i Figure 3: Call-by-name thunk transformation 3 The operator delay suspends the evaluation of an expression — thereby coercing an expression to a value. Therefore, delay e is added to the value sets in Λτ . v Valuesn [Λτ] v Valuesv [Λτ] ∈ ∈ ...where e Λτ v ::= ... delay e v ::= ... delay e ∈ | | The operator force triggers the evaluation of such a suspended expression. This is formalized by the following notion of reduction. Definition 1 (τ-reduction) force (delay e) τ e −→ We also consider the conventional notions of reduction β, βv, η,andηv [3, 27, 32]. Definition 2 (β,βv, η, ηv-reduction) (λx.e1) e2 β e 1 [ x := e2] −→ (λx.e)v β e [ x := v] v Valuesv [Λ] −→ v ∈ λx.e x η exFV(e) −→ 6∈ λx.v x η vvValuesv [Λ] x FV(v) −→ v ∈∧ 6∈ For a notion of reduction r, r also denotes construct compatible one- −→ step reduction, r denotes the reflexive, transitive closure of r ,and −→−→ −→ =rdenotes the smallest equivalence relation generated by r [3]. We will −→ also write λr e1 = e2 when e1 =r e2 (similarly for the other relations). ` + Figure 4 extends v (see Figure 2) to obtain v which CPS-transforms + C C thunks. faithfully implements τ-reduction in terms of βv (and thus β) Cv reduction. We write βi below to signify that the property holds indifferently for βv and β. + + Property 1 For all e Λτ , λβi [force (delay e)] = [e] . ∈ `Cvh i Cv h i Proof: + + v [force (delay e)] = λk.(λk.k( v [e] )) (λy.y k) C h i C h+ i β i λk.(λy.y k) v [e] −→ + C h i β i λk. v [e] k −→ + C h i β [ e ] −→ i C v h i The last step holds since a simple case analysis shows that + [e] always Cv h i has the form λk.e0 for some e0 Λ. ∈ 4 3 Connecting the Continuation-based and Thunk-based Simulations n can be factored into two conceptually distinct steps: (1) the suspension ofC argument evaluation (captured in ); and (2) the sequentialization of function application to give the usualT tail-calls of CPS terms (captured in +). Cv + Theorem 1 For all e Λ, λβi ( )[e] = n [e]. ∈ ` Cv ◦T h i C h i Proof: by induction over the structure of e. case e b: ≡ + + ( v )[b] = v [b] C ◦T h i = λk.kC h bi = n [b] C h i case e x: ≡ + + ( v )[x] = v [force x] C ◦T h i = λk.C h(λk.k x)(i λy.y k) β λk.(λy.y k) x −→ i β λk.x k −→ i = n [x] C h i case e λx.e : ≡ 0 + + ( v )[λx.e0] = v [λx. [e0]] C ◦T h i = Cλk.kh (λx.Th( +ii )[e]) Cv ◦T h 0i =β λk.k (λx. n [e0] ) ...by the ind. hyp. i C h i = n [λx.e ] C h 0 i case e e0 e1: ≡ + + ( v )[e0e1] = v [ [e0] (delay [e1])] C ◦T h i C hTh+ i Th i i + = λk.( v )[e0] (λy0.(λk.k ( v )[e1])(λy1.y0 y1 k)) C+ ◦T h i C ◦T h+ i β i λk.( v )[e0] (λy0.(λy1.y0 y1 k)( v )[e1]) −→ C+ ◦T h i + C ◦T h i β λk.( )[e0] (λy0.y0 ( )[e1] k) −→ i Cv ◦T h i Cv ◦T h i =β λk. n [e0] (λy0.y0 n [e1] k) ...by the ind. hyp. i C h i C h i = n [e0 e1] C h i 5 This theorem implies that the diagram in the abstract commutes up to βi- + equivalence, i.e., indifferently up to βv-andβ-equivalence. Note that Cv ◦T and n only differ by administrative reductions. In fact, if we consider C optimizing versions of n and v that remove administrative redexes, then the diagram commutesC up to identityC (i.e.,uptoα-equivalence). Figures 5 and 6 present two such optimizing transformations n.opt and C v.opt.
Recommended publications
  • Lecture Notes on the Lambda Calculus 2.4 Introduction to Β-Reduction
    2.2 Free and bound variables, α-equivalence. 8 2.3 Substitution ............................. 10 Lecture Notes on the Lambda Calculus 2.4 Introduction to β-reduction..................... 12 2.5 Formal definitions of β-reduction and β-equivalence . 13 Peter Selinger 3 Programming in the untyped lambda calculus 14 3.1 Booleans .............................. 14 Department of Mathematics and Statistics 3.2 Naturalnumbers........................... 15 Dalhousie University, Halifax, Canada 3.3 Fixedpointsandrecursivefunctions . 17 3.4 Other data types: pairs, tuples, lists, trees, etc. ....... 20 Abstract This is a set of lecture notes that developed out of courses on the lambda 4 The Church-Rosser Theorem 22 calculus that I taught at the University of Ottawa in 2001 and at Dalhousie 4.1 Extensionality, η-equivalence, and η-reduction. 22 University in 2007 and 2013. Topics covered in these notes include the un- typed lambda calculus, the Church-Rosser theorem, combinatory algebras, 4.2 Statement of the Church-Rosser Theorem, and some consequences 23 the simply-typed lambda calculus, the Curry-Howard isomorphism, weak 4.3 Preliminary remarks on the proof of the Church-Rosser Theorem . 25 and strong normalization, polymorphism, type inference, denotational se- mantics, complete partial orders, and the language PCF. 4.4 ProofoftheChurch-RosserTheorem. 27 4.5 Exercises .............................. 32 Contents 5 Combinatory algebras 34 5.1 Applicativestructures. 34 1 Introduction 1 5.2 Combinatorycompleteness . 35 1.1 Extensionalvs. intensionalviewoffunctions . ... 1 5.3 Combinatoryalgebras. 37 1.2 Thelambdacalculus ........................ 2 5.4 The failure of soundnessforcombinatoryalgebras . .... 38 1.3 Untypedvs.typedlambda-calculi . 3 5.5 Lambdaalgebras .......................... 40 1.4 Lambdacalculusandcomputability . 4 5.6 Extensionalcombinatoryalgebras . 44 1.5 Connectionstocomputerscience .
    [Show full text]
  • Continuation-Passing Style
    Continuation-Passing Style CS 6520, Spring 2002 1 Continuations and Accumulators In our exploration of machines for ISWIM, we saw how to explicitly track the current continuation for a computation (Chapter 8 of the notes). Roughly, the continuation reflects the control stack in a real machine, including virtual machines such as the JVM. However, accurately reflecting the \memory" use of textual ISWIM requires an implementation different that from that of languages like Java. The ISWIM machine must extend the continuation when evaluating an argument sub-expression, instead of when calling a function. In particular, function calls in tail position require no extension of the continuation. One result is that we can write \loops" using λ and application, instead of a special for form. In considering the implications of tail calls, we saw that some non-loop expressions can be converted to loops. For example, the Scheme program (define (sum n) (if (zero? n) 0 (+ n (sum (sub1 n))))) (sum 1000) requires a control stack of depth 1000 to handle the build-up of additions surrounding the recursive call to sum, but (define (sum2 n r) (if (zero? n) r (sum2 (sub1 n) (+ r n)))) (sum2 1000 0) computes the same result with a control stack of depth 1, because the result of a recursive call to sum2 produces the final result for the enclosing call to sum2 . Is this magic, or is sum somehow special? The sum function is slightly special: sum2 can keep an accumulated total, instead of waiting for all numbers before starting to add them, because addition is commutative.
    [Show full text]
  • Denotational Semantics
    Denotational Semantics CS 6520, Spring 2006 1 Denotations So far in class, we have studied operational semantics in depth. In operational semantics, we define a language by describing the way that it behaves. In a sense, no attempt is made to attach a “meaning” to terms, outside the way that they are evaluated. For example, the symbol ’elephant doesn’t mean anything in particular within the language; it’s up to a programmer to mentally associate meaning to the symbol while defining a program useful for zookeeppers. Similarly, the definition of a sort function has no inherent meaning in the operational view outside of a particular program. Nevertheless, the programmer knows that sort manipulates lists in a useful way: it makes animals in a list easier for a zookeeper to find. In denotational semantics, we define a language by assigning a mathematical meaning to functions; i.e., we say that each expression denotes a particular mathematical object. We might say, for example, that a sort implementation denotes the mathematical sort function, which has certain properties independent of the programming language used to implement it. In other words, operational semantics defines evaluation by sourceExpression1 −→ sourceExpression2 whereas denotational semantics defines evaluation by means means sourceExpression1 → mathematicalEntity1 = mathematicalEntity2 ← sourceExpression2 One advantage of the denotational approach is that we can exploit existing theories by mapping source expressions to mathematical objects in the theory. The denotation of expressions in a language is typically defined using a structurally-recursive definition over expressions. By convention, if e is a source expression, then [[e]] means “the denotation of e”, or “the mathematical object represented by e”.
    [Show full text]
  • Biology, Bioinformatics, Bioengineering, Biophysics, Biostatistics, Neuroscience, Medicine, Ophthalmology, and Dentistry
    Biology, Bioinformatics, Bioengineering, Biophysics, Biostatistics, Neuroscience, Medicine, Ophthalmology, and Dentistry This section contains links to textbooks, books, and articles in digital libraries of several publishers (Springer, Elsevier, Wiley, etc.). Most links will work without login on any campus (or remotely using the institution’s VPN) where the institution (company) subscribes to those digital libraries. For De Gruyter and the associated university presses (Chicago, Columbia, Harvard, Princeton, Yale, etc.) you may have to go through your institution’s library portal first. A red title indicates an excellent item, and a blue title indicates a very good (often introductory) item. A purple year of publication is a warning sign. Titles of Open Access (free access) items are colored green. The library is being converted to conform to the university virtual library model that I developed. This section of the library was updated on 06 September 2021. Professor Joseph Vaisman Computer Science and Engineering Department NYU Tandon School of Engineering This section (and the library as a whole) is a free resource published under Attribution-NonCommercial-NoDerivatives 4.0 International license: You can share – copy and redistribute the material in any medium or format under the following terms: Attribution, NonCommercial, and NoDerivatives. https://creativecommons.org/licenses/by-nc-nd/4.0/ Copyright 2021 Joseph Vaisman Table of Contents Food for Thought Biographies Biology Books Articles Web John Tyler Bonner Morphogenesis Evolution
    [Show full text]
  • Submission Data for 2020-2021 CORE Conference Ranking Process International Conference on Mathematical Foundations of Programming Semantics
    Submission Data for 2020-2021 CORE conference Ranking process International Conference on Mathematical Foundations of Programming Semantics Bartek Klin Conference Details Conference Title: International Conference on Mathematical Foundations of Programming Semantics Acronym : MFPS Requested Rank Rank: B Primarily CS Is this conference primarily a CS venue: True Location Not commonly held within a single country, set of countries, or region. DBLP Link DBLP url: https://dblp.org/db/conf/mfps/index.html FoR Codes For1: 4613 For2: SELECT For3: SELECT Recent Years Proceedings Publishing Style Proceedings Publishing: journal Link to most recent proceedings: https://www.sciencedirect.com/journal/electronic-notes-in-theoretical-computer-science/vol/347/suppl/C Further details: Proceedings published as volumes of Electronic Notes in Theoretical Computer Science, published by Elsevier. Most Recent Years Most Recent Year Year: 2019 URL: https://www.coalg.org/calco-mfps-2019/mfps/ Location: London, UK Papers submitted: 20 Papers published: 15 Acceptance rate: 75 Source for numbers: https://www.coalg.org/calco-mfps-2019/mfps/mfps-xxxv-list-of-accepted-papers/ General Chairs 1 No General Chairs Program Chairs Name: Barbara KÃűnig Affiliation: University of Duisburg-Essen, Germany Gender: F H Index: 27 GScholar url: https://scholar.google.com/citations?user=bcM7IuEAAAAJ DBLP url: Second Most Recent Year Year: 2018 URL: https://www.mathstat.dal.ca/mfps2018/ Location: Halifax, Canada Papers submitted: 24 Papers published: 16 Acceptance rate: 67 Source for
    [Show full text]
  • Part I Background
    Cambridge University Press 978-0-521-19746-5 - Transitions and Trees: An Introduction to Structural Operational Semantics Hans Huttel Excerpt More information PART I BACKGROUND © in this web service Cambridge University Press www.cambridge.org Cambridge University Press 978-0-521-19746-5 - Transitions and Trees: An Introduction to Structural Operational Semantics Hans Huttel Excerpt More information 1 A question of semantics The goal of this chapter is to give the reader a glimpse of the applications and problem areas that have motivated and to this day continue to inspire research in the important area of computer science known as programming language semantics. 1.1 Semantics is the study of meaning Programming language semantics is the study of mathematical models of and methods for describing and reasoning about the behaviour of programs. The word semantics has Greek roots1 and was first used in linguistics. Here, one distinguishes among syntax, the study of the structure of lan- guages, semantics, the study of meaning, and pragmatics, the study of the use of language. In computer science we make a similar distinction between syntax and se- mantics. The languages that we are interested in are programming languages in a very general sense. The ‘meaning’ of a program is its behaviour, and for this reason programming language semantics is the part of programming language theory devoted to the study of program behaviour. Programming language semantics is concerned only with purely internal aspects of program behaviour, namely what happens within a running pro- gram. Program semantics does not claim to be able to address other aspects of program behaviour – e.g.
    [Show full text]
  • A Descriptive Study of California Continuation High Schools
    Issue Brief April 2008 Alternative Education Options: A Descriptive Study of California Continuation High Schools Jorge Ruiz de Velasco, Greg Austin, Don Dixon, Joseph Johnson, Milbrey McLaughlin, & Lynne Perez Continuation high schools and the students they serve are largely invisible to most Californians. Yet, state school authorities estimate This issue brief summarizes that over 115,000 California high school students will pass through one initial findings from a year- of the state’s 519 continuation high schools each year, either on their long descriptive study of way to a diploma, or to dropping out of school altogether (Austin & continuation high schools in 1 California. It is the first in a Dixon, 2008). Since 1965, state law has mandated that most school series of reports from the on- districts enrolling over 100 12th grade students make available a going California Alternative continuation program or school that provides an alternative route to Education Research Project the high school diploma for youth vulnerable to academic or conducted jointly by the John behavioral failure. The law provides for the creation of continuation W. Gardner Center at Stanford University, the schools ‚designed to meet the educational needs of each pupil, National Center for Urban including, but not limited to, independent study, regional occupation School Transformation at San programs, work study, career counseling, and job placement services.‛ Diego State University, and It contemplates more intensive services and accelerated credit accrual WestEd. strategies so that students whose achievement in comprehensive schools has lagged might have a renewed opportunity to ‚complete the This project was made required academic courses of instruction to graduate from high school.‛ 2 possible by a generous grant from the James Irvine Taken together, the size, scope and legislative design of the Foundation.
    [Show full text]
  • Category Theory and Lambda Calculus
    Category Theory and Lambda Calculus Mario Román García Trabajo Fin de Grado Doble Grado en Ingeniería Informática y Matemáticas Tutores Pedro A. García-Sánchez Manuel Bullejos Lorenzo Facultad de Ciencias E.T.S. Ingenierías Informática y de Telecomunicación Granada, a 18 de junio de 2018 Contents 1 Lambda calculus 13 1.1 Untyped λ-calculus . 13 1.1.1 Untyped λ-calculus . 14 1.1.2 Free and bound variables, substitution . 14 1.1.3 Alpha equivalence . 16 1.1.4 Beta reduction . 16 1.1.5 Eta reduction . 17 1.1.6 Confluence . 17 1.1.7 The Church-Rosser theorem . 18 1.1.8 Normalization . 20 1.1.9 Standardization and evaluation strategies . 21 1.1.10 SKI combinators . 22 1.1.11 Turing completeness . 24 1.2 Simply typed λ-calculus . 24 1.2.1 Simple types . 25 1.2.2 Typing rules for simply typed λ-calculus . 25 1.2.3 Curry-style types . 26 1.2.4 Unification and type inference . 27 1.2.5 Subject reduction and normalization . 29 1.3 The Curry-Howard correspondence . 31 1.3.1 Extending the simply typed λ-calculus . 31 1.3.2 Natural deduction . 32 1.3.3 Propositions as types . 34 1.4 Other type systems . 35 1.4.1 λ-cube..................................... 35 2 Mikrokosmos 38 2.1 Implementation of λ-expressions . 38 2.1.1 The Haskell programming language . 38 2.1.2 De Bruijn indexes . 40 2.1.3 Substitution . 41 2.1.4 De Bruijn-terms and λ-terms . 42 2.1.5 Evaluation .
    [Show full text]
  • Estonian Academy of Sciences Yearbook 2018 XXIV
    Facta non solum verba ESTONIAN ACADEMY OF SCIENCES YEARBOOK FACTS AND FIGURES ANNALES ACADEMIAE SCIENTIARUM ESTONICAE XXIV (51) 2018 TALLINN 2019 This book was compiled by: Jaak Järv (editor-in-chief) Editorial team: Siiri Jakobson, Ebe Pilt, Marika Pärn, Tiina Rahkama, Ülle Raud, Ülle Sirk Translator: Kaija Viitpoom Layout: Erje Hakman Photos: Annika Haas p. 30, 31, 48, Reti Kokk p. 12, 41, 42, 45, 46, 47, 49, 52, 53, Janis Salins p. 33. The rest of the photos are from the archive of the Academy. Thanks to all authos for their contributions: Jaak Aaviksoo, Agnes Aljas, Madis Arukask, Villem Aruoja, Toomas Asser, Jüri Engelbrecht, Arvi Hamburg, Sirje Helme, Marin Jänes, Jelena Kallas, Marko Kass, Meelis Kitsing, Mati Koppel, Kerri Kotta, Urmas Kõljalg, Jakob Kübarsepp, Maris Laan, Marju Luts-Sootak, Märt Läänemets, Olga Mazina, Killu Mei, Andres Metspalu, Leo Mõtus, Peeter Müürsepp, Ülo Niine, Jüri Plado, Katre Pärn, Anu Reinart, Kaido Reivelt, Andrus Ristkok, Ave Soeorg, Tarmo Soomere, Külliki Steinberg, Evelin Tamm, Urmas Tartes, Jaana Tõnisson, Marja Unt, Tiit Vaasma, Rein Vaikmäe, Urmas Varblane, Eero Vasar Printed in Priting House Paar ISSN 1406-1503 (printed version) © EESTI TEADUSTE AKADEEMIA ISSN 2674-2446 (web version) CONTENTS FOREWORD ...........................................................................................................................................5 CHRONICLE 2018 ..................................................................................................................................7 MEMBERSHIP
    [Show full text]
  • From Semantics to Dialectometry
    Contents Preface ix Subjunctions as discourse markers? Stancetaking on the topic ‘insubordi- nate subordination’ Werner Abraham Two-layer networks, non-linear separation, and human learning R. Harald Baayen & Peter Hendrix John’s car repaired. Variation in the position of past participles in the ver- bal cluster in Duth Sjef Barbiers, Hans Bennis & Lote Dros-Hendriks Perception of word stress Leonor van der Bij, Dicky Gilbers & Wolfgang Kehrein Empirical evidence for discourse markers at the lexical level Jelke Bloem Verb phrase ellipsis and sloppy identity: a corpus-based investigation Johan Bos 7 7 Om-omission Gosse Bouma 8 Neural semantics Harm Brouwer, Mathew W. Crocker & Noortje J. Venhuizen 7 9 Liberating Dialectology J. K. Chambers 8 0 A new library for construction of automata Jan Daciuk 9 Generating English paraphrases from logic Dan Flickinger 99 Contents Use and possible improvement of UNESCO’s Atlas of the World’s Lan- guages in Danger Tjeerd de Graaf 09 Assessing smoothing parameters in dialectometry Jack Grieve 9 Finding dialect areas by means of bootstrap clustering Wilbert Heeringa 7 An acoustic analysis of English vowels produced by speakers of seven dif- ferent native-language bakgrounds Vincent J. van Heuven & Charlote S. Gooskens 7 Impersonal passives in German: some corpus evidence Erhard Hinrichs 9 7 In Hülle und Fülle – quantiication at a distance in German, Duth and English Jack Hoeksema 9 8 he interpretation of Duth direct speeh reports by Frisian-Duth bilin- guals Franziska Köder, J. W. van der Meer & Jennifer Spenader 7 9 Mining for parsing failures Daniël de Kok & Gertjan van Noord 8 0 Looking for meaning in names Stasinos Konstantopoulos 9 Second thoughts about the Chomskyan revolution Jan Koster 99 Good maps William A.
    [Show full text]
  • Plurals and Mereology
    Journal of Philosophical Logic (2021) 50:415–445 https://doi.org/10.1007/s10992-020-09570-9 Plurals and Mereology Salvatore Florio1 · David Nicolas2 Received: 2 August 2019 / Accepted: 5 August 2020 / Published online: 26 October 2020 © The Author(s) 2020 Abstract In linguistics, the dominant approach to the semantics of plurals appeals to mere- ology. However, this approach has received strong criticisms from philosophical logicians who subscribe to an alternative framework based on plural logic. In the first part of the article, we offer a precise characterization of the mereological approach and the semantic background in which the debate can be meaningfully reconstructed. In the second part, we deal with the criticisms and assess their logical, linguistic, and philosophical significance. We identify four main objections and show how each can be addressed. Finally, we compare the strengths and shortcomings of the mereologi- cal approach and plural logic. Our conclusion is that the former remains a viable and well-motivated framework for the analysis of plurals. Keywords Mass nouns · Mereology · Model theory · Natural language semantics · Ontological commitment · Plural logic · Plurals · Russell’s paradox · Truth theory 1 Introduction A prominent tradition in linguistic semantics analyzes plurals by appealing to mere- ology (e.g. Link [40, 41], Landman [32, 34], Gillon [20], Moltmann [50], Krifka [30], Bale and Barner [2], Chierchia [12], Sutton and Filip [76], and Champollion [9]).1 1The historical roots of this tradition include Leonard and Goodman [38], Goodman and Quine [22], Massey [46], and Sharvy [74]. Salvatore Florio [email protected] David Nicolas [email protected] 1 Department of Philosophy, University of Birmingham, Birmingham, United Kingdom 2 Institut Jean Nicod, Departement´ d’etudes´ cognitives, ENS, EHESS, CNRS, PSL University, Paris, France 416 S.
    [Show full text]
  • Open WATCOM Programmer's Guide
    this document downloaded from... Use of this document the wings of subject to the terms and conditions as flight in an age stated on the website. of adventure for more downloads visit our other sites Positive Infinity and vulcanhammer.net chet-aero.com Watcom FORTRAN 77 Programmer's Guide Version 1.8 Notice of Copyright Copyright 2002-2008 the Open Watcom Contributors. Portions Copyright 1984-2002 Sybase, Inc. and its subsidiaries. All rights reserved. Any part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of anyone. For more information please visit http://www.openwatcom.org/ Portions of this manual are reprinted with permission from Tenberry Software, Inc. ii Preface The Watcom FORTRAN 77 Programmer's Guide includes the following major components: · DOS Programming Guide · The DOS/4GW DOS Extender · Windows 3.x Programming Guide · Windows NT Programming Guide · OS/2 Programming Guide · Novell NLM Programming Guide · Mixed Language Programming · Common Problems Acknowledgements This book was produced with the Watcom GML electronic publishing system, a software tool developed by WATCOM. In this system, writers use an ASCII text editor to create source files containing text annotated with tags. These tags label the structural elements of the document, such as chapters, sections, paragraphs, and lists. The Watcom GML software, which runs on a variety of operating systems, interprets the tags to format the text into a form such as you see here. Writers can produce output for a variety of printers, including laser printers, using separately specified layout directives for such things as font selection, column width and height, number of columns, etc.
    [Show full text]