Index

A | B | C | D | E | F | G | H | I | L | M | O | P | R | S | T | V | Y | Α | Β | Η | Θ | Λ

A

  • Abstract Syntax Tree
  • abstract syntax tree, [1]
  • Alonzo Church, [1]
  • apply
  • ApplyC, [1]
  • AST

B

  • bind
  • block

C

  • Church booleans
  • Church numerals
  • Church-Turing thesis
  • Closure
  • Color
  • Colour
  • Combinations
  • Continuation
  • Continuation Passing Style
  • core language
  • CPS

D

  • Definition Environment
  • defunctionalization
  • delimited continuations
  • desugar, [1]
  • dictionary
  • Dynamic scoping
  • dynamic scoping

E

  • Environment/Definition
  • Environment/Evaluation
  • Evaluation environment

F

  • Fixed point
  • fixed point combinator
  • formal parameter, [1]
  • formal parameter
  • formal system
  • FunC

G

  • generalized booleans
  • global variables
  • Growing a language talk
  • Guy Steele

H

  • Homoiconicity

I

  • interpreter, [1]

L

  • lazy evaluation
  • Lexical scoping
  • lexical scoping

M

  • macro

O

  • Opacity

P

  • Pairs
  • PicLang
  • Preservation
  • Primitives, [1]
  • Procedures
  • Progress

R

  • Recursion
  • reified continuations
  • RGB

S

  • s-expressions
  • Scheme
  • Scheme assoc
  • Scheme Booleans
  • Scheme lambda
  • Scheme Lists
  • Scheme Numbers
  • Scheme Pairs
  • Scheme read
  • Scheme Strings
  • Scheme Symbols
  • Scheme write
  • Soundness
  • Stack machine
  • stack machine, [1]
  • State machines
  • Stephen Kleene
  • Strong normalization
  • subst
  • substitution
  • Surface syntax

T

  • tail recursion
  • Transformations
  • Turing combinator
  • Turing combinator, [1], [2]
  • Typed racket

V

  • vocabulary

Y

  • Y combinator, [1]

Α

  • α-renaming

Β

  • β-abstraction, [1], [2], [3]
  • β-reduction, [1], [2], [3], [4]

Η

  • η-reduction

Θ

  • Θ-combinator

Λ

  • λ

Comp308: Principles of Programming Languages

Navigation

Contents:

  • Welcome note
  • A quick introduction to Racket and Scheme
  • λ - the everything
  • Lambda - via β-abstraction
  • A language for pictures
  • A language for arithmetic
  • A mental model for the machine
  • Notional machine
  • Growing the language
  • Functions and scope
  • Functions and scope (arithmetic track)
  • Stacks and scope
  • Functions in PicLang
  • Mutations
  • Control
  • Generators
  • On the choice between “error” and “do something reasonable” in design
  • Polymorphism via dispatch
  • Alternative application semantics
  • Types: Checking some program invariants statically

Related Topics

  • Documentation overview

Quick search

©2022, Srikumar K. S.. | Powered by Sphinx 7.3.7 & Alabaster 0.7.16