Navigation

  • index
  • next |
  • Programming Languages documentation »
  • Programming Languages

Programming Languages¶

Table of Contents:

  • 1. Introduction
    • 1.1. About this course
    • 1.2. Evaluation
    • 1.3. A Fundamental Question
    • 1.4. Definition of a language
    • 1.5. Differences in syntax
    • 1.6. Differences in semantics
    • 1.7. Criteria for good programming languages
    • 1.8. Reasons to study the theory of programming language
  • 2. Syntax and Semantics
    • 2.1. Brief introduction to the formal language theory
    • 2.2. Glance at the semantics theory
  • 3. Names and Bindings
    • 3.1. Names in a program
    • 3.2. Namespace
    • 3.3. Bindings
    • 3.4. Scope
  • 4. Variables
    • 4.1. What is a variable?
    • 4.2. Type
    • 4.3. Left value
    • 4.4. Memory management
    • 4.5. Extent
  • 5. Types
    • 5.1. What is a type?
    • 5.2. Type declaration
    • 5.3. Various types
    • 5.4. Type systems
    • 5.5. Type inference
    • 5.6. Polymorphism
  • 6. Expressions
    • 6.1. Operator Precedence Grammar
    • 6.2. Order of evaluation
    • 6.3. Short-circuit evaluation
    • 6.4. Lazy evaluation
  • 7. Control structures
    • 7.1. Structured programming
    • 7.2. Non-local exits
    • 7.3. Exceptions
  • 8. Subprograms
    • 8.1. What is a subprogram?
    • 8.2. Parameter
    • 8.3. Direction of parameter passing
    • 8.4. Evaluation strategy of parameters
    • 8.5. Closure
  • 9. Object Oriented Programming
    • 9.1. What is “Object Oriented”?
    • 9.2. Abstract data type
    • 9.3. Designing object oriented languages
  • 10. Functional Programming
    • 10.1. What is functional programming language?
    • 10.2. referential transparency
    • 10.3. Theoretical basis
    • 10.4. Monad

Appendix

  • Mid-term paper
  • Answer
  • Index

  • Search Page

Next topic

1. Introduction

This Page

  • Show Source

Quick search

Navigation

  • index
  • next |
  • Programming Languages documentation »
  • Programming Languages
© Copyright 2021, HATTORI Takashi. Created using Sphinx 7.1.2.