Thunks and the Λ-Calculus Copyright C 1996, BRICS, Department of Computer Science
Total Page:16
File Type:pdf, Size:1020Kb
Load more
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 . -
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. -
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”. -
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 -
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 -
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. -
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. -
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 . -
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 -
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. -
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. -
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.