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...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Cambridge, UK ; New York :
Cambridge University Press,
2013.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | 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. |
Beschreibung: | 1 online resource (xviii, 471 pages) |
Bibliographie: | Includes notes at chapter ends, bibliographical references (pages 457-463), and index. |
ISBN: | 1107306841 9781107306844 9781107314597 1107314593 9781139342131 1139342134 9781107301757 1107301750 9781107309043 1107309042 1107237300 9781107237308 1107254868 9781107254862 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn828140158 | ||
003 | OCoLC | ||
005 | 20241004212047.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 |d OCLCO |d OCLCL | ||
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 | ||
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 | 7 | |a 005.13 |2 23 | |
084 | |a COM051010 |2 bisacsh | ||
049 | |a MAIN | ||
100 | 1 | |a Harper, Robert, |d 1957- |1 https://id.oclc.org/worldcat/entity/E39PBJrGtVKRfFjkwjrb3w9CcP |0 http://id.loc.gov/authorities/names/n88294952 | |
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. | |
650 | 0 | |a Programming languages (Electronic computers) |0 http://id.loc.gov/authorities/subjects/sh85107313 | |
650 | 0 | |a Programming languages (Electronic computers) |x Syntax. |0 http://id.loc.gov/authorities/subjects/sh85107317 | |
650 | 0 | |a Programming languages (Electronic computers) |x Semantics. |0 http://id.loc.gov/authorities/subjects/sh85107316 | |
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 | |
650 | 7 | |a Programming languages (Electronic computers) |x Semantics |2 fast | |
650 | 7 | |a Programming languages (Electronic computers) |2 fast | |
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 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=527878 |3 Volltext |
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 GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn828140158 |
---|---|
_version_ | 1816882222639087616 |
adam_text | |
any_adam_object | |
author | Harper, Robert, 1957- |
author_GND | http://id.loc.gov/authorities/names/n88294952 |
author_facet | Harper, Robert, 1957- |
author_role | |
author_sort | Harper, Robert, 1957- |
author_variant | r h rh |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.7 .H377 2013 |
callnumber-search | QA76.7 .H377 2013 |
callnumber-sort | QA 276.7 H377 42013 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | 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. 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. 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. 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. 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. |
ctrlnum | (OCoLC)828140158 |
dewey-full | 005.13 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13 |
dewey-search | 005.13 |
dewey-sort | 15.13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>09567cam a2200877 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn828140158</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr |n|||||||||</controlfield><controlfield tag="008">130220s2013 enk ob 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">YDXCP</subfield><subfield code="b">eng</subfield><subfield code="e">pn</subfield><subfield code="c">YDXCP</subfield><subfield code="d">OCLCO</subfield><subfield code="d">E7B</subfield><subfield code="d">UMI</subfield><subfield code="d">DEBSZ</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCF</subfield><subfield code="d">N$T</subfield><subfield code="d">EBLCP</subfield><subfield code="d">CAMBR</subfield><subfield code="d">MEAUC</subfield><subfield code="d">COO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">HEBIS</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCA</subfield><subfield code="d">IUL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">COCUF</subfield><subfield code="d">CNNOR</subfield><subfield code="d">STF</subfield><subfield code="d">LOA</subfield><subfield code="d">CEF</subfield><subfield code="d">CUY</subfield><subfield code="d">MERUC</subfield><subfield code="d">ZCU</subfield><subfield code="d">ICG</subfield><subfield code="d">K6U</subfield><subfield code="d">VT2</subfield><subfield code="d">U3W</subfield><subfield code="d">CNCEN</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">WYU</subfield><subfield code="d">G3B</subfield><subfield code="d">LVT</subfield><subfield code="d">S8J</subfield><subfield code="d">S9I</subfield><subfield code="d">TXI</subfield><subfield code="d">OCL</subfield><subfield code="d">D6H</subfield><subfield code="d">DKC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OL$</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">VLY</subfield><subfield code="d">UKAHL</subfield><subfield code="d">AJS</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield></datafield><datafield tag="066" ind1=" " ind2=" "><subfield code="c">(S</subfield></datafield><datafield tag="019" ind1=" " ind2=" "><subfield code="a">827944725</subfield><subfield code="a">852164035</subfield><subfield code="a">1162334139</subfield><subfield code="a">1241949526</subfield><subfield code="a">1259249641</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107306841</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107306844</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107314597</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107314593</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781139342131</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1139342134</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107301757</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107301750</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107309043</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107309042</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781107029576</subfield><subfield code="q">(hardback)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">1107029570</subfield><subfield code="q">(hardback)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107237300</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107237308</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1107254868</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107254862</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)828140158</subfield><subfield code="z">(OCoLC)827944725</subfield><subfield code="z">(OCoLC)852164035</subfield><subfield code="z">(OCoLC)1162334139</subfield><subfield code="z">(OCoLC)1241949526</subfield><subfield code="z">(OCoLC)1259249641</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000233</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.7</subfield><subfield code="b">.H377 2013</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051010</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.13</subfield><subfield code="2">23</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">COM051010</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Harper, Robert,</subfield><subfield code="d">1957-</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PBJrGtVKRfFjkwjrb3w9CcP</subfield><subfield code="0">http://id.loc.gov/authorities/names/n88294952</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Practical foundations for programming languages /</subfield><subfield code="c">Robert Harper.</subfield></datafield><datafield tag="260" ind1=" " ind2=" "><subfield code="a">Cambridge, UK ;</subfield><subfield code="a">New York :</subfield><subfield code="b">Cambridge University Press,</subfield><subfield code="c">2013.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (xviii, 471 pages)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="504" ind1=" " ind2=" "><subfield code="a">Includes notes at chapter ends, bibliographical references (pages 457-463), and index.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="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.</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Print version record.</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="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.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="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.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85107313</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="x">Syntax.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85107317</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="x">Semantics.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85107316</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Langages de programmation</subfield><subfield code="x">Syntaxe.</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Langages de programmation</subfield><subfield code="x">Sémantique.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming Languages</subfield><subfield code="x">General.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="x">Syntax</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="x">Semantics</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programmiersprache</subfield><subfield code="2">gnd</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Print version:</subfield><subfield code="a">Harper, Robert, 1957-</subfield><subfield code="t">Practical foundations for programming languages.</subfield><subfield code="d">Cambridge, UK ; New York : Cambridge University Press, 2013</subfield><subfield code="z">9781107029576</subfield><subfield code="z">1107029570</subfield><subfield code="w">(DLC) 2012018404</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=527878</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="880" ind1="0" ind2=" "><subfield code="6">505-00/(S</subfield><subfield code="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.</subfield></datafield><datafield tag="936" ind1=" " ind2=" "><subfield code="a">BATCHLOAD</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH34206584</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">Askews and Holts Library Services</subfield><subfield code="b">ASKH</subfield><subfield code="n">AH37561764</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBL - Ebook Library</subfield><subfield code="b">EBLB</subfield><subfield code="n">EBL1113098</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ebrary</subfield><subfield code="b">EBRY</subfield><subfield code="n">ebr10656308</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">527878</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">10143799</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">11663380</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">10249331</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">YBP Library Services</subfield><subfield code="b">YANK</subfield><subfield code="n">10143382</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn828140158 |
illustrated | Not Illustrated |
indexdate | 2024-11-27T13:25:11Z |
institution | BVB |
isbn | 1107306841 9781107306844 9781107314597 1107314593 9781139342131 1139342134 9781107301757 1107301750 9781107309043 1107309042 1107237300 9781107237308 1107254868 9781107254862 |
language | English |
oclc_num | 828140158 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (xviii, 471 pages) |
psigel | ZDB-4-EBA |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | Cambridge University Press, |
record_format | marc |
spelling | Harper, Robert, 1957- https://id.oclc.org/worldcat/entity/E39PBJrGtVKRfFjkwjrb3w9CcP http://id.loc.gov/authorities/names/n88294952 Practical foundations for programming languages / Robert Harper. Cambridge, UK ; New York : Cambridge University Press, 2013. 1 online resource (xviii, 471 pages) text txt rdacontent computer c rdamedia online resource cr rdacarrier Includes notes at chapter ends, bibliographical references (pages 457-463), and index. 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. Print version record. 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. 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. 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. 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. 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. Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Programming languages (Electronic computers) Syntax. http://id.loc.gov/authorities/subjects/sh85107317 Programming languages (Electronic computers) Semantics. http://id.loc.gov/authorities/subjects/sh85107316 Langages de programmation Syntaxe. Langages de programmation Sémantique. COMPUTERS Programming Languages General. bisacsh Programming languages (Electronic computers) Syntax fast Programming languages (Electronic computers) Semantics fast Programming languages (Electronic computers) fast Programmiersprache gnd Print version: Harper, Robert, 1957- Practical foundations for programming languages. Cambridge, UK ; New York : Cambridge University Press, 2013 9781107029576 1107029570 (DLC) 2012018404 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=527878 Volltext 505-00/(S 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. |
spellingShingle | Harper, Robert, 1957- Practical foundations for programming languages / 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. 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. 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. 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. 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. Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Programming languages (Electronic computers) Syntax. http://id.loc.gov/authorities/subjects/sh85107317 Programming languages (Electronic computers) Semantics. http://id.loc.gov/authorities/subjects/sh85107316 Langages de programmation Syntaxe. Langages de programmation Sémantique. COMPUTERS Programming Languages General. bisacsh Programming languages (Electronic computers) Syntax fast Programming languages (Electronic computers) Semantics fast Programming languages (Electronic computers) fast Programmiersprache gnd |
subject_GND | http://id.loc.gov/authorities/subjects/sh85107313 http://id.loc.gov/authorities/subjects/sh85107317 http://id.loc.gov/authorities/subjects/sh85107316 |
title | Practical foundations for programming languages / |
title_auth | Practical foundations for programming languages / |
title_exact_search | Practical foundations for programming languages / |
title_full | Practical foundations for programming languages / Robert Harper. |
title_fullStr | Practical foundations for programming languages / Robert Harper. |
title_full_unstemmed | Practical foundations for programming languages / Robert Harper. |
title_short | Practical foundations for programming languages / |
title_sort | practical foundations for programming languages |
topic | Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Programming languages (Electronic computers) Syntax. http://id.loc.gov/authorities/subjects/sh85107317 Programming languages (Electronic computers) Semantics. http://id.loc.gov/authorities/subjects/sh85107316 Langages de programmation Syntaxe. Langages de programmation Sémantique. COMPUTERS Programming Languages General. bisacsh Programming languages (Electronic computers) Syntax fast Programming languages (Electronic computers) Semantics fast Programming languages (Electronic computers) fast Programmiersprache gnd |
topic_facet | Programming languages (Electronic computers) Programming languages (Electronic computers) Syntax. Programming languages (Electronic computers) Semantics. Langages de programmation Syntaxe. Langages de programmation Sémantique. COMPUTERS Programming Languages General. Programming languages (Electronic computers) Syntax Programming languages (Electronic computers) Semantics Programmiersprache |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=527878 |
work_keys_str_mv | AT harperrobert practicalfoundationsforprogramminglanguages |