Introduction to Programming Languages
Table of contentsEdit
Introduction to Programming LanguagesEdit
SyntaxEdit
Grammars in PracticeEdit
- Logic Grammars
- Syntax Directed Interpretation
- Syntax Directed Translation
- Syntax Directed Type Checking
- A recipy for writing a reusable grammar
Execution EnvironmentsEdit
Functional Programming in HaskellEdit
Pattern MatchingEdit
TypesEdit
Typing DisciplinesEdit
- Dynamically vs Statically Typed Languages
- Nominal vs Structural Typing Equivalence
- Safe vs Unsafe Typing
- Type Inference vs Type Annotations
PolymorphismEdit
- What is Polymorphism
- Ad-Hoc Polymorphism
- Universal Polymorphism
- Overloading
- Coercion
- Parametric Polymorphism
- Subtype Polymorphism
The Lambda CalculusEdit
High-Order FunctionsEdit
- Definition and Examples
- Closures
- Partial Application
- Noticeable High-Order Functions
- Template Oriented Programming