skip to content
Practical foundations for programming languages Preview this item
ClosePreview this item
Checking...

Practical foundations for programming languages

Author: Robert Harper
Publisher: Cambridge [u.a.] : Cambridge Univ. Press, 2013.
Edition/Format:   Print book : English : 1. publView all editions and formats
Publication:Practical foundations for programming languages.
Database:WorldCat
Summary:
"This book offers a fresh perspective on the fundamentals of programming languages through the use of type theory."
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

 

Find a copy online

Links to this item

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Material Type: Internet resource
Document Type: Book, Internet Resource
All Authors / Contributors: Robert Harper
ISBN: 9781107029576 1107029570
OCLC Number: 840012058
In: Harper, Robert
Description: XVIII, 471 S
Contents: 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.
Responsibility: Robert Harper.

Abstract:

This book offers a fresh perspective on the fundamentals of programming languages through the use of type theory.  Read more...

Reviews

Editorial reviews

Publisher Synopsis

"Harper's book provides a comprehensive treatment of the foundations of computation. He touches on a surprising range of concepts that arise in language design: from simple types to polymorphism to Read more...

 
User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/840012058> # Practical foundations for programming languages
    a schema:Book, schema:CreativeWork ;
   library:oclcnum "840012058" ;
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/enk> ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/1120019450#Place/cambridge_u_a> ; # Cambridge u.a.
   schema:about <http://dewey.info/class/005.13/> ;
   schema:about <http://experiment.worldcat.org/entity/work/data/1120019450#Topic/programmiersprache> ; # Programmiersprache
   schema:about <http://experiment.worldcat.org/entity/work/data/1120019450#Topic/programming_languages> ; # Programming languages
   schema:about <http://experiment.worldcat.org/entity/work/data/1120019450#Topic/programmierung> ; # Programmierung
   schema:about <http://experiment.worldcat.org/entity/work/data/1120019450#Topic/computers_programming_languages_general> ; # COMPUTERS--Programming Languages--General
   schema:bookEdition "1. publ." ;
   schema:bookFormat bgn:PrintBook ;
   schema:creator <http://experiment.worldcat.org/entity/work/data/1120019450#Person/harper_robert> ; # Robert Harper
   schema:datePublished "2013" ;
   schema:description ""Syntactic Objects Programming languages are languages, a means of expressing computations in a form comprehensible to both people and machines. The syntax of a language specifies the means by which various sorts of phrases (expressions, commands, declarations, and so forth) may be combined to form programs. But what sort of thing are these phrases? What is a program made of? The informal concept of syntax may be seen to involve several distinct concepts. The surface, or concrete, syntax is concerned with how phrases are entered and displayed on a computer. The surface syntax is usually thought of as given by strings of characters from some alphabet (say, ASCII or Unicode). The structural, or abstract, syntax is concerned with the struc- 4 1.1 Abstract Syntax Trees ture of phrases, specifically how they are composed from other phrases. At this level a phrase is a tree, called an abstract syntax tree, whose nodes are operators that combine several phrases to form another phrase. The binding structure of syntax is concerned with the introduction and use of identifiers: how they are declared, and how declared identifiers are to be used. At this level phrases are abstract binding trees, which enrich abstract syntax trees with the concepts of binding and scope. We will not concern ourselves in this book with matters of concrete syntax, but will instead work at the level of abstract syntax. To prepare the ground for the rest of the book, we begin in this chapter by definin-ing abstract syntax trees and abstract binding trees and some functions and relations associated with them. The definitions are a bit technical, but are absolutely fundamental to what follows. It is probably best to skim this chapter on first reading, returning to it only as the need arises."" ;
   schema:description "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." ;
   schema:description ""This book offers a fresh perspective on the fundamentals of programming languages through the use of type theory."" ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/1120019450> ;
   schema:inLanguage "en" ;
   schema:name "Practical foundations for programming languages" ;
   schema:productID "840012058" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/840012058#PublicationEvent/cambridge_u_a_cambridge_univ_press_2013> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/1120019450#Agent/cambridge_univ_press> ; # Cambridge Univ. Press
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&doc_number=025290138&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA> ;
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=serviceetdoc_library=BVB01etdoc_number=025290138etline_number=0001etfunc_code=DB_RECORDSetservice_type=MEDIA> ;
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=025290138&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA> ;
   schema:url <http://bvbr.bib-bvb.de:8991/F?func=service&doc%5Flibrary=BVB01&doc%5Fnumber=025290138&line%5Fnumber=0001&func%5Fcode=DB%5FRECORDS&service%5Ftype=MEDIA> ;
   schema:workExample <http://worldcat.org/isbn/9781107029576> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/840012058> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/1120019450#Agent/cambridge_univ_press> # Cambridge Univ. Press
    a bgn:Agent ;
   schema:name "Cambridge Univ. Press" ;
    .

<http://experiment.worldcat.org/entity/work/data/1120019450#Person/harper_robert> # Robert Harper
    a schema:Person ;
   schema:familyName "Harper" ;
   schema:givenName "Robert" ;
   schema:name "Robert Harper" ;
    .

<http://experiment.worldcat.org/entity/work/data/1120019450#Topic/computers_programming_languages_general> # COMPUTERS--Programming Languages--General
    a schema:Intangible ;
   schema:name "COMPUTERS--Programming Languages--General" ;
    .

<http://experiment.worldcat.org/entity/work/data/1120019450#Topic/programming_languages> # Programming languages
    a schema:Intangible ;
   schema:name "Programming languages" ;
    .

<http://worldcat.org/isbn/9781107029576>
    a schema:ProductModel ;
   schema:isbn "1107029570" ;
   schema:isbn "9781107029576" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.