Introduction to Programming Languages

From Wikibooks, open books for an open world
Jump to: navigation, search

Table of contents[edit]

Introduction to Programming Languages[edit]

75% developed  as of Jun 28, 2012 Preface
75% developed  as of Jun 28, 2012 Programming Language Paradigms

Syntax[edit]

75% developed  as of Jun 28, 2012 Grammars
75% developed  as of Jun 28, 2012 Parsing
75% developed  as of Jun 28, 2012 Ambiguity
75% developed  as of Jun 28, 2012 Precedence and Associativity

Grammars in Practice[edit]

75% developed  as of Jun 28, 2012 Logic Grammars
75% developed  as of Jun 28, 2012 Syntax Directed Interpretation
75% developed  as of Jun 28, 2012 Syntax Directed Translation
75% developed  as of Jun 28, 2012 Syntax Directed Type Checking

Execution Environments[edit]

75% developed  as of Jun 28, 2012 Compiled Programs
75% developed  as of Jun 28, 2012 Interpreted Programs
75% developed  as of Jun 28, 2012 Binding

Introduction to Functional Programming[edit]

Pattern Matching[edit]

Types[edit]

25% developed  as of July 23, 2012 Data Types
25% developed  as of July 23, 2012 Primitive Types
25% developed  as of July 23, 2012 Constructed Types

Typing Disciplines[edit]

25% developed  as of July 23, 2012 Dynamically vs Statically Typed Languages
25% developed  as of July 23, 2012 Nominal vs Structural Typing Equivalence
25% developed  as of July 23, 2012 Safe vs Unsafe Typing
25% developed  as of July 23, 2012 Type Inference vs Type Annotations

Polymorphism[edit]

25% developed  as of July 10, 2012 What is Polymorphism
25% developed  as of July 10, 2012 Ad-Hoc Polymorphism
25% developed  as of July 10, 2012 Universal Polymorphism

The Lambda Calculus[edit]

High-Order Functions[edit]

75% developed  as of Jun 28, 2012 Definition and Examples
75% developed  as of Jun 28, 2012 Closures
75% developed  as of Jun 28, 2012 Partial Application
75% developed  as of Jun 28, 2012 Noticeable High-Order Functions
75% developed  as of Jun 28, 2012 Template Oriented Programming

Scope[edit]

25% developed  as of Ago 24, 2012 Definitions and Types of Scope
25% developed  as of Ago 24, 2012 Scoping with Blocks
25% developed  as of Ago 24, 2012 Scoping with Namespaces

Functional Data Structures[edit]

75% developed  as of Dec 10, 2013 Algebraic Data Types
75% developed  as of Dec 10, 2013 Functional Data Structures

Memory Allocation[edit]

Imperative Programming in Python[edit]

Memory Management[edit]

75% developed  as of Dec 30, 2013 Types of Storage
75% developed  as of Dec 30, 2013 Static Memory
75% developed  as of Dec 30, 2013 Stack
75% developed  as of Dec 30, 2013 Heap
75% developed  as of Dec 30, 2013 Garbage Collection

Abstract Data Types[edit]

Object-Oriented Programming[edit]

Exceptions[edit]

Parameter Passing[edit]

75% developed  as of Jun 28, 2012 Parameter Matching
75% developed  as of Jun 28, 2012 Evaluation Strategies

Introduction to Logic Programming[edit]

Unification[edit]

Cost Models[edit]

Math in Prolog[edit]