Concepts and Semantics of Programming Languages 1 A Semantical Approach with OCaml and Python

This book the first of two volumes explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding. Concepts and Semantics of Programming...

Celý popis

Uložené v:
Podrobná bibliografia
Hlavní autori: Hardin, Therese, Jaume, Mathieu, Pessaux, Francois, Viguie Donzeau-Gouge, Veronique
Médium: E-kniha
Jazyk:English
Vydavateľské údaje: Newark John Wiley & Sons, Incorporated 2021
Wiley-Blackwell
Vydanie:1
ISBN:9781786305305, 1786305305
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract This book the first of two volumes explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding. Concepts and Semantics of Programming Languages 1 is dedicated to functional and imperative features. Included is the formal study of the semantics of typing and execution; their acquisition is facilitated by implementation into OCaml and Python, as well as by worked examples. Data representation is considered in detail: endianness, pointers, memory management, union types and pattern-matching, etc., with examples in OCaml, C and C++. The second volume introduces a specific model for studying modular and object features and uses this model to present Ada and OCaml modules, and subsequently Java, C++, OCaml and Python classes and objects. This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.
AbstractList This book the first of two volumes explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their semantics, while also providing an accurate presentation of the material aspects that interfere with coding. Concepts and Semantics of Programming Languages 1 is dedicated to functional and imperative features. Included is the formal study of the semantics of typing and execution; their acquisition is facilitated by implementation into OCaml and Python, as well as by worked examples. Data representation is considered in detail: endianness, pointers, memory management, union types and pattern-matching, etc., with examples in OCaml, C and C++. The second volume introduces a specific model for studying modular and object features and uses this model to present Ada and OCaml modules, and subsequently Java, C++, OCaml and Python classes and objects. This book is intended not only for computer science students and teachers but also seasoned programmers, who will find a guide to reading reference manuals and the foundations of program verification.
Author Jaume, Mathieu
Hardin, Therese
Pessaux, Francois
Viguie Donzeau-Gouge, Veronique
Author_xml – sequence: 1
  fullname: Hardin, Therese
– sequence: 2
  fullname: Jaume, Mathieu
– sequence: 3
  fullname: Pessaux, Francois
– sequence: 4
  fullname: Viguie Donzeau-Gouge, Veronique
BookMark eNpVj0tLAzEUhSM-0NYu3c9OXFRvXjfJUof6gIKC4nbITJKxdprUyVT_vsUKIhw4fPBx4IzIQUzRE3JG4ZICsCujNKXUaCYoo3tk8scgcH_HSiMHuc0RGVEmAZRiTB-TSc7vAMABcOucEFqm2Pj1kAsbXfHsVzYOiyYXKRRPfWp7u1otYlvMbWw3tvW5oKfkMNgu-8lvj8nr7eylvJ_OH-8eyuv51FIpjJpy66BRgjWcQfA2GCnACvSNFVqiR43OBUSOWIsajda1kyFQI8B4x5TjY3KxG7Z56b_yW-qGXH12vk5pmat_p7fu-c5d9-lj4_NQ_WiNj0Nvu2p2U6JUhiHn3xEWWgE
ContentType eBook
DEWEY 005.13
DOI 10.1002/9781119824121
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781119824046
1119824044
Edition 1
1st edition
ExternalDocumentID 9781119824046
EBC6579263
GroupedDBID 38.
AABBV
AALIM
ABARN
ABHAM
ABQPQ
ADVEM
AERYV
AFOJC
AHWGJ
AJFER
ALMA_UNASSIGNED_HOLDINGS
BBABE
CZZ
GEOUK
IHRAH
OHILO
OODEK
WIIVT
WZT
ID FETCH-LOGICAL-a15497-3ad0c742c320feaf9540a46eca4856e686ddf66366b4b6988bd5ff19409ed27d3
ISBN 9781786305305
1786305305
IngestDate Fri Jun 27 09:50:35 EDT 2025
Wed Nov 26 07:09:05 EST 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a15497-3ad0c742c320feaf9540a46eca4856e686ddf66366b4b6988bd5ff19409ed27d3
OCLC 1250077228
PQID EBC6579263
PageCount 329
ParticipantIDs askewsholts_vlebooks_9781119824046
proquest_ebookcentral_EBC6579263
PublicationCentury 2000
PublicationDate 2021
2021-04-13
PublicationDateYYYYMMDD 2021-01-01
2021-04-13
PublicationDate_xml – year: 2021
  text: 2021
PublicationDecade 2020
PublicationPlace Newark
PublicationPlace_xml – name: Newark
PublicationYear 2021
Publisher John Wiley & Sons, Incorporated
Wiley-Blackwell
Publisher_xml – name: John Wiley & Sons, Incorporated
– name: Wiley-Blackwell
SSID ssj0003006178
ssib044298277
Score 2.2586434
Snippet This book the first of two volumes explores the syntactical constructs of the most common programming languages, and sheds a mathematical light on their...
SourceID askewsholts
proquest
SourceType Aggregation Database
Publisher
Subtitle A Semantical Approach with OCaml and Python
TableOfContents 6.5. Generalized conditional -- 6.5.1. C style switch/case -- 6.5.2. Pattern matching -- 6.6. Equality -- 6.6.1. Physical equality -- 6.6.2. Structural equality -- 6.6.3. Equality between functions -- 7 Pointers and Memory Management -- 7.1. Addresses and pointers -- 7.2. Endianness -- 7.3. Pointers and arrays -- 7.4. Passing parameters by address -- 7.5. References -- 7.5.1. References in C++ -- 7.5.2. References in Java -- 7.6. Memory management -- 7.6.1. Memory allocation -- 7.6.2. Freeing memory -- 7.6.3. Automatic memory management -- 8 Exceptions -- 8.1. Errors: notification and propagation -- 8.1.1. Global variable -- 8.1.2. Record definition -- 8.1.3. Passing by address -- 8.1.4. Introducing exceptions -- 8.2. A simple formalization: ML-style exceptions -- 8.2.1. Abstract syntax -- 8.2.2. Values -- 8.2.3. Type algebra -- 8.2.4. Operational semantics -- 8.2.5. Typing -- 8.3. Exceptions in other languages -- 8.3.1. Exceptions in OCaml -- 8.3.2. Exceptions in Python -- 8.3.3. Exceptions in Java -- 8.3.4. Exceptions in C++ -- Conclusion -- Solutions to the Exercises -- A.1. Introduction to language semantics Solution to exercise 2.1 -- Solution to exercise 2.2 -- A.2. Semantics of functional features Solution to exercise 3.1 -- Solution to exercise 3.2 -- Solution to exercise 3.3 -- Solution to exercise 3.4 -- Solution to exercise 3.5 -- Solution to exercise 3.6 -- Solution to exercise 3.7 -- A.3. Semantics of imperative features Solution to exercise 4.1 -- Solution to exercise 4.2 -- Solution to exercise 4.3 -- List of Notations -- Index of Programs -- References -- Index -- Other titles from iSTE in Computer Engineering -- EULA
Cover -- Half-Title Page -- Title Page -- Copyright Page -- Contents -- Foreword -- Preface -- 1 From Hardware to Software -- 1.1. Computers: a low-level view -- 1.1.1. Information processing -- 1.1.2. Memories -- 1.1.3. CPUs -- 1.1.4. Peripheral devices -- 1.2. Computers: a high-level view -- 1.2.1. Modeling computations -- 1.2.2. High-level languages -- 1.2.3. From source code to executable programs -- 2 Introduction to Semantics of Programming Languages -- 2.1. Environment, memory and state -- 2.1.1. Evaluation environment -- 2.1.2. Memory -- 2.1.3. State -- 2.2. Evaluation of expressions -- 2.2.1. Syntax -- 2.2.2. Values -- 2.2.3. Evaluation semantics -- 2.3. Definition and assignment -- 2.3.1. Defining an identifier -- 2.3.2. Assignment -- 2.4. Exercises -- Exercise 2.1 -- Exercise 2.2 -- 3 Semantics of Functional Features -- 3.1. Syntactic aspects -- 3.1.1. Syntax of a functional kernel -- 3.1.2. Abstract syntax tree -- 3.1.3. Reasoning by induction over expressions -- 3.1.4. Declaration of variables, bound and free variables -- 3.2. Execution semantics: evaluation functions -- 3.2.1. Evaluation errors -- 3.2.2. Values -- 3.2.3. Interpretation of operators -- 3.2.4. Closures -- 3.2.5. Evaluation of expressions -- 3.3. Execution semantics: operational semantics -- 3.3.1. Simple expressions -- 3.3.2. Call-by-value -- 3.3.3. Recursive and mutually recursive functions -- 3.3.4. Call-by-name -- 3.3.5. Call-by-value versus call-by-name -- 3.4. Evaluation functions versus evaluation relations -- 3.4.1. Status of the evaluation function -- 3.4.2. Induction over evaluation trees -- 3.5. Semantic properties -- 3.5.1. Equivalent expressions -- 3.5.2. Equivalent environments -- 3.6. Exercises -- Exercise 3.1 -- Exercise 3.2 -- Exercise 3.3 -- Exercise 3.4 -- Exercise 3.5 -- Exercise 3.6 -- Exercise 3.7 -- 4 Semantics of Imperative Features
4.1. Syntax of a kernel of an imperative language -- 4.2. Evaluation of expressions -- 4.3. Evaluation of definitions -- 4.4. Operational semantics -- 4.4.1. Big-step semantics -- 4.4.2. Small-step semantics -- 4.4.3. Expressiveness of operational semantics -- 4.5. Semantic properties -- 4.5.1. Equivalent programs -- 4.5.2. Program termination -- 4.5.3. Determinism of program execution -- 4.5.4. Big steps versus small steps -- 4.6. Procedures -- 4.6.1. Blocks -- 4.6.2. Procedures -- 4.7. Other approaches -- 4.7.1. Denotational semantics -- 4.7.2. Axiomatic semantics, Hoare logic -- 4.8. Exercises -- Exercise 4.1 -- Exercise 4.2 -- Exercise 4.3 -- 5 Types -- 5.1. Type checking: when and how? -- 5.1.1. When to verify types? -- 5.1.2. How to verify types? -- 5.2. Informal typing of a program Exp2 -- 5.2.1. A first example -- 5.2.2. Typing a conditional expression -- 5.2.3. Typing without type constraints -- 5.2.4. Polymorphism -- 5.3. Typing rules in Exp2 -- 5.3.1. Types, type schemes and typing environments -- 5.3.2. Generalization, substitution and instantiation -- 5.3.3. Typing rules and typing trees -- 5.4. Type inference algorithm in Exp2 -- 5.4.1. Principal type -- 5.4.2. Sets of constraints and unification -- 5.4.3. Type inference algorithm -- 5.5. Properties -- 5.5.1. Properties of typechecking -- 5.5.2. Properties of the inference algorithm -- 5.6. Typechecking of imperative constructs -- 5.6.1. Type algebra -- 5.6.2. Typing rules -- 5.6.3. Typing polymorphic definitions -- 5.7. Subtyping and overloading -- 5.7.1. Subtyping -- 5.7.2. Overloading -- 6 Data Types -- 6.1. Basic types -- 6.1.1. Booleans -- 6.1.2. Integers -- 6.1.3. Characters -- 6.1.4. Floating point numbers -- 6.2. Arrays -- 6.3. Strings -- 6.4. Type definitions -- 6.4.1. Type abbreviations -- 6.4.2. Records -- 6.4.3. Enumerated types -- 6.4.4. Sum types
Title Concepts and Semantics of Programming Languages 1
URI https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=6579263
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781119824046
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELb64EAvvNVCQRaiJxSxsR3buVK2rSgUJErV2yrrTKotNFuaTbXi13f8iLPdIiEOXKJNNoq8mdmZz_Z83xDyptLcpABZYpNVIgw3-JdSIkHwAaV0e5COKPxJHR3p09P8a-ji2Lh2Aqqu9XyeX_5XU-M1NLalzv6DueND8QJ-RqPjEc2OxyVEHE-D0IBnIHrR5W9wge_MSjDbIjdfhHXhGE1hgbJ5uxB90Et8l2K0IPTbNR-L1jdR_2xrFKHt46jtmzLvgK-ZTiIyP5mctRNAXF7_hqJN9hGf-1pasCK8vsI7LjOwdGmZ4Q91PCGIBcHlSMXyM9NUaYmhhDtO9d047XVf7X1pmmtEEZ4mvSR9PXy_KzOVM8l3-N7lr8T2CrN76jv8g7fbKllVEqfc6_vDL98PuzgiMMdqFvi1527WZ4Gatry-OKwg9xXPg_4qDuzdrWFtkI2i-YEJB5PRrLmTsR0MOX5I1sFyUx6RFagfkwddRw4aAvQTknY-QNEHaPQBOq3ogg_Q6AM0fUpO9obHuwdJaIqRFFZNDzNCUQ6MEsxwNqigqHLE3IWQYOXpMwlSy7KsEEdKORZjmWs9LrOqSnOcyEPJVMmfkbV6WsMmoSA0GKkroTTgA1UOnKnMSMbGkpmB2iKvF3776Pqn28BvRv0LGgi5RWj3Skbu-1BVPOqt9_zvt7wg93uv2yZrs6sWXpJ75no2aa5eBQPfACBwUVo
linkProvider ProQuest Ebooks
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Concepts+and+Semantics+of+Programming+Languages+1&rft.au=Hardin%2C+Therese&rft.au=Jaume%2C+Mathieu&rft.au=Pessaux%2C+Francois&rft.au=Viguie+Donzeau-Gouge%2C+Veronique&rft.date=2021-01-01&rft.pub=John+Wiley+%26+Sons%2C+Incorporated&rft.isbn=9781786305305&rft_id=info:doi/10.1002%2F9781119824121&rft.externalDocID=EBC6579263
thumbnail_m http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97811198%2F9781119824046.jpg