LEADER 00000cam a2200745Mi 4500 001 ocn828140158 003 OCoLC 005 20190405013545.8 006 m o d 007 cr |n||||||||| 008 130220s2013 enk ob 001 0 eng d 010 |z 2012018404 019 827944725|a852164035 020 1107306841|q(electronic book) 020 9781107306844|q(electronic book) 020 9781107314597|q(electronic book) 020 1107314593|q(electronic book) 020 9781139342131|q(electronic book) 020 1139342134|q(electronic book) 020 9781107301757 020 1107301750 020 9781107309043 020 1107309042 020 |z9781107029576|q(hardback) 020 |z1107029570|q(hardback) 035 (OCoLC)828140158|z(OCoLC)827944725|z(OCoLC)852164035 037 CL0500000233|bSafari Books Online 040 YDXCP|beng|epn|cYDXCP|dOCLCO|dE7B|dUMI|dDEBSZ|dOCLCQ |dOCLCF|dN$T|dEBLCP|dCAMBR|dMEAUC|dCOO|dOCLCQ|dHEBIS |dOCLCQ|dOCLCO|dOCLCA|dIUL|dOCLCQ|dCOCUF|dCNNOR|dSTF|dLOA |dCEF|dCUY|dMERUC|dZCU|dICG|dK6U|dVT2|dU3W|dCNCEN|dOCLCQ |dWYU|dG3B|dLVT|dS8J|dS9I|dTXI|dOCL|dD6H|dDKC 049 RIDW 050 4 QA76.7|b.H377 2013 066 |c(S 072 7 COM|x051010|2bisacsh 082 04 005.13|223 084 COM051010|2bisacsh 090 QA76.7|b.H377 2013 100 1 Harper, Robert,|d1957-|0https://id.loc.gov/authorities/ names/n88294952 245 10 Practical foundations for programming languages /|cRobert Harper. 264 1 Cambridge, UK ;|aNew York :|bCambridge University Press, |c2013. 300 1 online resource (xviii, 471 pages) 336 text|btxt|2rdacontent 337 computer|bc|2rdamedia 338 online resource|bcr|2rdacarrier 347 text file|2rdaft 504 Includes notes at chapter ends, bibliographical references (pages 457-463), and index. 505 8 Machine generated contents note: Part I. Judgments and Rules: 1. Inductive definitions; 2. Hypothetical judgments; 3. Syntactic objects; 4. Generic judgments; Part II. Levels of Syntax: 5. Concrete syntax; 6. Abstract syntax; Part III. Statics and Dynamics: 7. Statics; 8. Dynamics; 9. Type safety; 10. Evaluation dynamics; Part IV. Function Types: 11. Function definitions and values; 12. Godel's system T; 13. Plotkin's PCF; Part V. Finite Data Types: 14. Product types; 15. Sum patterns; 16. Pattern matching; 17. Generic programming; Part VI. Infinite Data Types: 18. Inductive and co-inductive types; 19. Recursive types; Part VII. Dynamic Types: 20. The untyped 1-calculus; 21. Dynamic typing; 22. Hybrid typing; Part VIII. Variable Types: 23. Girard's system F; 24. Abstract types; 25. Constructors and kinds; 26. Indexed families of types; Part IX. Subtyping: 27. Subtyping; 28. Singleton and dependent kinds; Part X. Classes and Methods : 29. Dynamic dispatch; 30. Inheritance; Part XI. Control Effects: 31. Control stacks; 32. Exceptions; 33. Continuations; Part XII. Types and Propositions: 34. Constructive logic; 35. Classical logic; Part XIII. Symbols: 36. Symbols; 37. Fluid binding; 38. Dynamic classification; Part XIV. Storage Effects: 39. Modernized algol; 40. Mutable data structures; Part XV. Laziness: 41. Lazy evaluation; 42. Polarization; Part XVI. Parallelism: 43. Nested parallelism; 44. Futures and speculation; Part XVII. Concurrency: 45. Process calculus; 46. Current algol; 47. Distributed algol; Part XVIII. Modularity: 48. Separate compilation and linking; 49. Basic modules; 50. Parameterized modules; Part XIX. Equivalence: 51. Equational reasoning for T; 52. Equational reasoning for PCF; 53. Parametricity. 520 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 Print version record. 590 eBooks on EBSCOhost|bEBSCO eBook Subscription Academic Collection - North America 650 0 Programming languages (Electronic computers)|0https:// id.loc.gov/authorities/subjects/sh85107313 650 0 Programming languages (Electronic computers)|xSyntax. |0https://id.loc.gov/authorities/subjects/sh85107317 650 0 Programming languages (Electronic computers)|xSemantics. |0https://id.loc.gov/authorities/subjects/sh85107316 650 7 Programming languages (Electronic computers)|2fast|0https: //id.worldcat.org/fast/1078704 650 7 Programming languages (Electronic computers)|xSyntax. |2fast|0https://id.worldcat.org/fast/1078721 650 7 Programming languages (Electronic computers)|xSemantics. |2fast|0https://id.worldcat.org/fast/1078716 655 4 Electronic books. 655 7 Electronic books.|2lcgft 776 08 |iPrint version:|aHarper, Robert, 1957-|tPractical foundations for programming languages.|dCambridge, UK ; New York : Cambridge University Press, 2013|z9781107029576 |z1107029570|w(DLC) 2012018404 856 40 |uhttps://rider.idm.oclc.org/login?url=http:// search.ebscohost.com/login.aspx?direct=true&scope=site& db=nlebk&AN=527878|zOnline eBook via EBSCO. Access restricted to current Rider University students, faculty, and staff. 856 42 |3Instructions for reading/downloading the EBSCO version of this eBook|uhttp://guides.rider.edu/ebooks/ebsco 880 0 |6505-00/(S|aPart 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. 901 MARCIVE 20231220 948 |d20190507|cEBSCO|tEBSCOebooksacademic NEW 4-5-19 7552 |lridw 994 92|bRID