User Tools

Site Tools


cs376:ideas_for

Syllabus

Yikes Even so please look at the assignments (Scheme and PLAI) here.

Text, Tools, and Language

Scheme

  • Talk about testing in the first Dailies
  • Double check if there's value in Dyvig section 2.4, 2.5, 2.8, 2.9 and explain lambda
  • Add questions to Dailies on tables and quasiquote (or prelude in later assignment)

Datatypes and Testing in PLAI

  • Add to Datatypes notes: binary tree!
  • New testing concepts (see PLAI docs)

Concepts

Syntactic Sugar Examples:

  • in C, a[i] is syntactic sugar for *(a + i)
  • in Python, x + y is syntactic sugar for x.add(y)
  • in Haskell, [f x | x ← lst] desugars to map f lst

Evolution of Language <grin>

Interpreter Notes

  • Update AE with breakdown:

  concrete {...} -> reads ('+ 3 6) which is s-expreesion 
                 -> parses to (add [num 3] [num 6]) which is abstract syntax
                 -> interprets to 8 which is the result!

Syntactic Abstraction

Desugaring in Action

Web and Continuations

Idea: have them build the continuation-based web server (uses delimited continuations) as an assigment

Haskell Week

  • Handout or reference Backus Turing Award Lecture excerpt
  • Handout or reference “Two Camps” paper

Extra Credit +/- Summarizations

cs376/ideas_for.txt · Last modified: 2016/11/14 21:22 by scarl