Cargando…

Practical foundations for programming languages /

Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper inste...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Harper, Robert, 1957-
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Cambridge, UK ; New York : Cambridge University Press, 2013.
Temas:
Acceso en línea:Texto completo

MARC

LEADER 00000cam a2200000 i 4500
001 EBSCO_ocn828140158
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |n|||||||||
008 130220s2013 enk ob 001 0 eng d
040 |a YDXCP  |b eng  |e pn  |c YDXCP  |d OCLCO  |d E7B  |d UMI  |d DEBSZ  |d OCLCQ  |d OCLCF  |d N$T  |d EBLCP  |d CAMBR  |d MEAUC  |d COO  |d OCLCQ  |d HEBIS  |d OCLCQ  |d OCLCO  |d OCLCA  |d IUL  |d OCLCQ  |d COCUF  |d CNNOR  |d STF  |d LOA  |d CEF  |d CUY  |d MERUC  |d ZCU  |d ICG  |d K6U  |d VT2  |d U3W  |d CNCEN  |d OCLCQ  |d WYU  |d G3B  |d LVT  |d S8J  |d S9I  |d TXI  |d OCL  |d D6H  |d DKC  |d OCLCQ  |d OL$  |d OCLCQ  |d VLY  |d UKAHL  |d AJS  |d OCLCO  |d OCLCQ 
066 |c (S 
019 |a 827944725  |a 852164035  |a 1162334139  |a 1241949526  |a 1259249641 
020 |a 1107306841  |q (electronic bk.) 
020 |a 9781107306844  |q (electronic bk.) 
020 |a 9781107314597  |q (electronic bk.) 
020 |a 1107314593  |q (electronic bk.) 
020 |a 9781139342131  |q (electronic bk.) 
020 |a 1139342134  |q (electronic bk.) 
020 |a 9781107301757 
020 |a 1107301750 
020 |a 9781107309043 
020 |a 1107309042 
020 |z 9781107029576  |q (hardback) 
020 |z 1107029570  |q (hardback) 
020 |a 1107237300 
020 |a 9781107237308 
020 |a 1107254868 
020 |a 9781107254862 
029 1 |a AU@  |b 000050606421 
029 1 |a AU@  |b 000052007977 
029 1 |a CHNEW  |b 000723526 
029 1 |a DEBBG  |b BV041431183 
029 1 |a DEBSZ  |b 398270120 
029 1 |a DEBSZ  |b 431305188 
029 1 |a NZ1  |b 15022096 
035 |a (OCoLC)828140158  |z (OCoLC)827944725  |z (OCoLC)852164035  |z (OCoLC)1162334139  |z (OCoLC)1241949526  |z (OCoLC)1259249641 
037 |a CL0500000233  |b Safari Books Online 
050 4 |a QA76.7  |b .H377 2013 
072 7 |a COM  |x 051010  |2 bisacsh 
082 0 4 |a 005.13  |2 23 
084 |a COM051010  |2 bisacsh 
049 |a UAMI 
100 1 |a Harper, Robert,  |d 1957- 
245 1 0 |a Practical foundations for programming languages /  |c Robert Harper. 
260 |a Cambridge, UK ;  |a New York :  |b Cambridge University Press,  |c 2013. 
300 |a 1 online resource (xviii, 471 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
504 |a Includes notes at chapter ends, bibliographical references (pages 457-463), and index. 
520 |a Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-defined programs - follows naturally. Professor Harper's presentation is simultaneously rigorous and intuitive, relying on elementary mathematics. The framework he outlines scales easily to a rich variety of language concepts and is directly applicable to their implementation. The result is a lucid introduction to programming theory that is both accessible and practical.--Publisher. 
588 0 |a Print version record. 
505 0 |a Cover; Practical Foundations for Programming Languages; Title; Copyright; Contents; Preface; PART I: Judgments and Rules; 1 Syntactic Objects; 1.1 Abstract Syntax Trees; 1.2 Abstract Binding Trees; 1.3 Notes; 2 Inductive Definitions; 2.1 Judgments; 2.2 Inference Rules; 2.3 Derivations; 2.4 Rule Induction; 2.5 Iterated and Simultaneous Inductive Definitions; 2.6 Defining Functions by Rules; 2.7 Modes; 2.8 Notes; 3 Hypothetical and General Judgments; 3.1 Hypothetical Judgments; 3.1.1 Derivability; 3.1.2 Admissibility; 3.2 Hypothetical Inductive Definitions; 3.3 General Judgments. 
505 8 |a 3.4 Generic Inductive Definitions3.5 Notes; PART II: Statics and Dynamics; 4 Statics; 4.1 Syntax; 4.2 Type System; 4.3 Structural Properties; 4.4 Notes; 5 Dynamics; 5.1 Transition Systems; 5.2 Structural Dynamics; 5.3 Contextual Dynamics; 5.4 Equational Dynamics; 5.5 Notes; 6 Type Safety; 6.1 Preservation; 6.2 Progress; 6.3 Run-Time Errors; 6.4 Notes; 7 Evaluation Dynamics; 7.1 Evaluation Dynamics; 7.2 Relating Structural and Evaluation Dynamics; 7.3 Type Safety, Revisited; 7.4 Cost Dynamics; 7.5 Notes; PART III: Function Types; 8 Function Definitions and Values; 8.1 First-Order Functions. 
505 8 |a 8.2 Higher-Order Functions8.3 Evaluation Dynamics and Definitional Equality; 8.4 Dynamic Scope; 8.5 Notes; 9 Godel's T; 9.1 Statics; 9.2 Dynamics; 9.3 Definability; 9.4 Undefinability; 9.5 Notes; 10 Plotkin's PCF; 10.1 Statics; 10.2 Dynamics; 10.3 Definability; 10.4 Notes; PART IV: Finite Data Types; 11 Product Types; 11.1 Nullary and Binary Products; 11.2 Finite Products; 11.3 Primitive and Mutual Recursions; 11.4 Notes; 12 Sum Types; 12.1 Nullary and Binary Sums; 12.2 Finite Sums; 12.3 Applications of Sum Types; 12.3.1 Void and Unit; 12.3.2 Booleans; 12.3.3 Enumerations; 12.3.4 Options. 
505 8 |a 12.4 Notes13 Pattern Matching; 13.1 A Pattern Language; 13.2 Statics; 13.3 Dynamics; 13.4 Exhaustiveness and Redundancy; 13.4.1 Match Constraints; 13.4.2 Enforcing Exhaustiveness and Redundancy; 13.4.3 Checking Exhaustiveness and Redundancy; 13.5 Notes; 14 Generic Programming; 14.1 Introduction; 14.2 Type Operators; 14.3 Generic Extension; 14.4 Notes; PART V: Infinite Data Types; 15 Inductive and Coinductive Types; 15.1 Motivating Examples; 15.2 Statics; 15.2.1 Types; 15.2.2 Expressions; 15.3 Dynamics; 15.4 Notes; 16 Recursive Types; 16.1 Solving Type Isomorphisms. 
505 8 |a 16.2 Recursive Data Structures16.3 Self-Reference; 16.4 The Origin of State; 16.5 Notes; PART VI: Dynamic Types; 17 The Untyped -Calculus; 17.1 The -Calculus; 17.2 Definability; 17.3 Scott's Theorem; 17.4 Untyped Means Unityped; 17.5 Notes; 18 Dynamic Typing; 18.1 Dynamically Typed PCF; 18.2 Variations and Extensions; 18.3 Critique of Dynamic Typing; 18.4 Notes; 19 Hybrid Typing; 19.1 A Hybrid Language; 19.2 Dynamics as Static Typing; 19.3 Optimization of Dynamic Typing; 19.4 Static Versus Dynamic Typing; 19.5 Notes; PART VII: Variable Types; 20 Girard's System F; 20.1 System F. 
590 |a eBooks on EBSCOhost  |b EBSCO eBook Subscription Academic Collection - Worldwide 
650 0 |a Programming languages (Electronic computers) 
650 0 |a Programming languages (Electronic computers)  |x Syntax. 
650 0 |a Programming languages (Electronic computers)  |x Semantics. 
650 6 |a Langages de programmation  |x Syntaxe. 
650 6 |a Langages de programmation  |x Sémantique. 
650 7 |a COMPUTERS  |x Programming Languages  |x General.  |2 bisacsh 
650 7 |a Programming languages (Electronic computers)  |x Syntax.  |2 fast  |0 (OCoLC)fst01078721 
650 7 |a Programming languages (Electronic computers)  |x Semantics.  |2 fast  |0 (OCoLC)fst01078716 
650 7 |a Programming languages (Electronic computers)  |2 fast  |0 (OCoLC)fst01078704 
650 7 |a Programmiersprache  |2 gnd 
776 0 8 |i Print version:  |a Harper, Robert, 1957-  |t Practical foundations for programming languages.  |d Cambridge, UK ; New York : Cambridge University Press, 2013  |z 9781107029576  |z 1107029570  |w (DLC) 2012018404 
856 4 0 |u https://ebsco.uam.elogim.com/login.aspx?direct=true&scope=site&db=nlebk&AN=527878  |z Texto completo 
880 0 |6 505-00/(S  |a Part I. Judgments and rules ; Syntactic objects -- Inductive definitions -- Hypothetical and general judgments -- Part II. Statics and dynamics ; Statics -- Dynamics -- Type safety -- Evaluation dynamics -- Part III. Function types ; Function definitions and values -- Gödel's T -- Plotkin's PCF -- Part IV. Finite data types ; Product types -- Sum types -- Pattern matching -- Generic programming -- Part V. Infinite data types ; Inductive and coinductive types -- Recursive types -- Part VI. Dynamic types ; The untyped λ-calculus -- Dynamic typing -- Hybrid typing -- Part VII. Variable types ; Girard's System F -- Abstract types -- Constructors and kinds -- Part VIII. Subtyping ; Subtyping -- Singleton kinds -- Part IX. Classes and methods ; Dynamic dispatch -- Inheritance -- Part X. Exceptions and continuations ; Control stacks -- Exceptions -- Continuations -- Part XI. Types and propositions ; Constructive logic -- Classical logic -- Part XII. Symbols ; Symbols -- Fluid binding -- Dynamic classification -- Part XIII. State ; Modernized Algol -- Assignable references -- Part XIV. Laziness ; Lazy evaluation -- Polarization -- Part XV. Parallelism ; Nested parallelism -- Futures and speculations -- Part XVI. Concurrency ; Process calculus -- Concurrent Algol -- Distributed Algol -- Part XVII. Modularity ; Components and linking -- Type abstractions and type classes -- Hierarchy and parameterization -- Part XVIII. Equational reasoning ; Equational reasoning for T -- Equational reasoning for PCF -- Parametricity -- Process equivalence -- Part XIX. Appendix ; Finite sets and finite functions. 
936 |a BATCHLOAD 
938 |a Askews and Holts Library Services  |b ASKH  |n AH34206584 
938 |a Askews and Holts Library Services  |b ASKH  |n AH37561764 
938 |a EBL - Ebook Library  |b EBLB  |n EBL1113098 
938 |a ebrary  |b EBRY  |n ebr10656308 
938 |a EBSCOhost  |b EBSC  |n 527878 
938 |a YBP Library Services  |b YANK  |n 10143799 
938 |a YBP Library Services  |b YANK  |n 11663380 
938 |a YBP Library Services  |b YANK  |n 10249331 
938 |a YBP Library Services  |b YANK  |n 10143382 
994 |a 92  |b IZTAP