• Fri frakt över 249 kr
  • •
  • Snabba leveranser
  • •
  • Billiga böcker
Kundservice

Du är på sajten för privatpersoner.

Företag, bibliotek eller offentlig verksamhet?

Du handlar på classic.bokus.com, där alla dina funktioner finns intakta.
Till classic.bokus.com
Bokus logotyp. Gå till startsidan.
  • Erbjudanden
  • Nyheter
  • Student
  • Topplistor
  • Barn & ungdom
  • Bokus Play
  • E-böcker
  • Pocketböcker
  • Spel & pussel

10% rabatt på allt med kod NYSTART10 →

Sidfot

Mina sidor

    Hjälp

    • Kundservice
    • Vanliga frågor och svar
    • Frakt och leverans
    • Retur vid ångerrätt
    • Reklamera vara
    • Betalning
    • Köpvillkor
    • Allmänna villkor
    • Information om webbplatsens tillgänglighet

    Om Bokus

    • Om oss
    • Pressrum
    • För studenter
    • För företag
    • För bibliotek och offentlig verksamhet
    • För leverantörer
    • Hållbarhet

    Populärt

    • Aktuella erbjudanden
    • Presentkort
    • Studentlitteratur
    • Nya böcker
    • Topplistor
    • Signerade böcker
    • Engelska böcker

    Inspiration

    • Boktips
    • BookTok
    • Populära bokserier
    • Barnbokskaraktärer
    • Populära författare
    Logotyp för Bokus
    Följ oss på Facebook (extern länk)Följ oss på Instagram (extern länk)Följ oss på YouTube (extern länk)Följ oss på TikTok (extern länk)
    bokus @ CookiesAnpassa cookiesIntegritetspolicyKöpvillkor
    Till Citymail hemsida (extern länk)Till Budbee hemsida (extern länk)Till Postnord hemsida (extern länk)Till Schenker hemsida (extern länk)Till Early Bird hemsida (extern länk)Till Walleys hemsida (extern länk)
    1. Data och IT
    2. Systemvetenskap och AI

    Programming Language Fundamentals

    A Metalanguage Approach in Elm

    AvMartin Erwig

    Inbunden, Engelska, 2024

    1 086 kr

    Beställningsvara. Skickas inom 5-8 vardagar. Fri frakt över 249 kr.

    Fler format och utgåvor

    E-bok

    1 267 kr

    E-bok

    1 271 kr

    Beskrivning

    PROGRAMMING LANGUAGE FUNDAMENTALS Understand the key principles of programming languages Programming languages are the tools needed to let algorithms run on electronic computers. As they form the linguistic interface between humans and machines, the understanding of programming languages is essential for being able to control machine behavior. Programming Language Fundamentals offers a precise, comprehensive introduction to the principles that are the basis of most programming languages. Explaining both functional programming and logic programming, it presents a broad perspective on programming and constitutes an indispensable introduction to the foundations of programming languages. Programming Language Fundamentals readers will also find: Introduction to Elm as a metalanguage to encourage thinking and experimenting with programming languages in a formal way Detailed discussion of topics including abstract syntax, semantics, types, and more In-depth explanations of key concepts such as scope and parameter passing Programming Language Fundamentals is ideal for undergraduate students in computer science, as well as researchers and practitioners working with programming languages who are looking to broaden their understanding of the field.

    Produktinformation

    • Utgivningsdatum:2024-03-28
    • Mått:262 x 186 x 17 mm
    • Vikt:816 g
    • Format:Inbunden
    • Språk:Engelska
    • Antal sidor:224
    • Förlag:John Wiley & Sons Inc
    • ISBN:9781394251537

    Utforska kategorier

    • Systemvetenskap och AI inom Data och IT
    • Programmeringsböcker inom Data och IT

    Mer om författaren

    Martin Erwig, PhD, is the Stretch Professor of Computer Science in the School of Electrical Engineering and Computer Science at Oregon State University, USA. He is the author of the award-winning book Once Upon an Algorithm: How Stories Explain Computing. He serves as an Editorial Board Member of the Journal of Computer Languages and as an Associate Editor of the Journal of Visual Language and Computing.

    Innehållsförteckning

    • Preface viiAbout the Companion Website xi1 Introduction 11.1 The Role of Programming Languages in Computer Science 21.2 Why Study Programming Language Fundamentals? 41.3 What Are the Fundamentals of Programming Languages? 51.4 How to Study the Fundamentals of Programming Languages? 81.5 About Programming Paradigms 92 Functional Programming with Elm 132.1 Getting Started 142.2 Expressions, Values, and Their Types 182.2.1 Naming Values and Expressions 192.2.2 Tracing Evaluations 202.2.3 Tuples 252.3 Functions 262.3.1 Function Application 262.3.2 Currying and Partial Function Application 272.3.3 Function Definitions 292.4 Iteration and Recursion 302.5 Lists and Pattern Matching 342.6 Data Types 402.7 Higher-Order Functions 443 Syntax 493.1 Context-Free Grammars 503.2 Parse Trees 543.3 Abstract Syntax 563.4 Abstract Syntax Idioms 623.4.1 Factoring 633.4.2 Replacing Grammar Recursion by Lists 653.4.3 Grouping Associative Operations Using Lists 683.4.4 Representing Optional Syntax Elements 704 Denotational Semantics 734.1 Defining Semantics in Three Steps 764.2 Systematic Construction of Semantic Domains 804.2.1 Error Domains 824.2.2 Product Domains 864.2.3 Union Domains 874.2.4 Domains for Modeling Stateful Computation 895 Types 975.1 Inference Rules 985.2 Type Systems 1025.2.1 The Language of Types 1025.2.2 Typing Rules 1055.3 Type Checking 1095.4 Type Safety 1155.5 Static and Dynamic Typing 1176 Scope 1236.1 The Landscape of Programs: Blocks and Scope 1246.2 The Runtime Stack 1306.3 Static vs. Dynamic Scoping 1347 Parameter Passing 1397.1 Call-by-Value 1417.2 Call-by-Reference 1447.3 Call-by-Value-Result 1467.4 Call-by-Name 1487.5 Call-by-Need 1507.6 Summary 1528 Logic Programming with Prolog 1538.1 Getting Started 1548.2 Predicates and Goals 1578.2.1 Predicates 1588.2.2 Goals 1598.2.3 Repeated Variables (aka Non-linear Patterns) 1618.2.4 Conjunction 1628.2.5 Expressing Joins 1638.2.6 A Simple Operational Evaluation Model for Prolog 1658.3 Rules 1668.4 Recursion 1718.4.1 Trees as Computation Traces 1728.4.2 Left Recursion 1738.5 Prolog’s Search Mechanism 1748.5.1 Unification 1758.5.2 Scan, Expand, and Backtrack 1778.6 Structures 1798.7 Lists 1868.8 Numbers and Arithmetic 1938.9 The Cut 1958.10 Negation 196Index 203