Programming Languages Application and Interpretation
Programming Languages Application and Interpretation
Programming Languages Application and Interpretation
This
note covers the following topics: Parsing, Interpretation, Adding Functions to
the Language, From Substitution to Environments, Functions, Mutation: Structures
and Variables, Recursion and Cycles: Procedures and Data, Objects, Memory
Management, Representation Decisions, Desugaring as a Language Feature, Control
Operations, Checking Program Invariants Statically: Types, Checking Program
Invariants Dynamically: Contracts, Alternate Application Semantics.
This
note covers the following topics: Parsing, Interpretation, Adding Functions to
the Language, From Substitution to Environments, Functions, Mutation: Structures
and Variables, Recursion and Cycles: Procedures and Data, Objects, Memory
Management, Representation Decisions, Desugaring as a Language Feature, Control
Operations, Checking Program Invariants Statically: Types, Checking Program
Invariants Dynamically: Contracts, Alternate Application Semantics.
This note presents
major features of programming languages, with primary emphasis on the role of
particular language features in writing good software; programming language
design alternatives; various programming paradigms embodied in languages, such
as procedural, data-flow, functional and object-oriented languages.
This
course note is an introduction to high performance computing (HPC) on modern
desktop computer architectures. The targeted audience is undergraduate students
who are not engaged in a computer science program but who want to be exposed to
the principles HPC (relevant to desktop computers) and take advantage of them in
their field of study.