Jump to content

Introduction to Programming Languages

50% developed
From Wikibooks, open books for an open world

Table of contents

[edit | edit source]

Introduction to Programming Languages

[edit | edit source]
75% developed  as of Jun 28, 2012 Preface
75% developed  as of Jun 28, 2012 Programming Language Paradigms

Syntax

[edit | edit source]
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 | edit source]
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
75% developed  as of Feb 3, 2020 A recipe for writing a reusable grammar

Execution Environments

[edit | edit source]
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

Functional Programming in Haskell

[edit | edit source]
25% developed  as of September 19, 2016 Concepts of Functional Languages

Pattern Matching

[edit | edit source]

Types

[edit | edit source]
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 | edit source]
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 | edit source]
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
25% developed  as of May 6, 2016 Overloading
25% developed  as of May 6, 2016 Coercion
25% developed  as of May 6, 2016 Parametric Polymorphism
25% developed  as of May 6, 2016 Subtype Polymorphism

The Lambda Calculus

[edit | edit source]

High-Order Functions

[edit | edit source]
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 | edit source]
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 | edit source]
75% developed  as of Dec 10, 2013 Algebraic Data Types
75% developed  as of Dec 10, 2013 Functional Data Structures

Memory Allocation

[edit | edit source]

Imperative Programming in Python

[edit | edit source]

Memory Management

[edit | edit source]
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 | edit source]

Object-Oriented Programming

[edit | edit source]

Exceptions

[edit | edit source]

Parameter Passing

[edit | edit source]
75% developed  as of Jun 28, 2012 Parameter Matching
75% developed  as of Jun 28, 2012 Evaluation Strategies

Introduction to Logic Programming

[edit | edit source]

Unification

[edit | edit source]

Cost Models

[edit | edit source]
25% developed  as of Nov 7, 2016 Introduction
25% developed  as of Nov 7, 2016 Lists
25% developed  as of Nov 7, 2016 Tail Call Optimization
25% developed  as of Nov 7, 2016 Unification
25% developed  as of Nov 7, 2016 Arrays

Math in Prolog

[edit | edit source]
25% developed  as of Nov 9, 2016 Simple Predicates
25% developed  as of Nov 9, 2016 The Power of Exhaustive Search

Semantics

[edit | edit source]
25% developed  as of Nov 9, 2016 Quest for Meaning
25% developed  as of Nov 9, 2016 An Interpreter for ML