Skip to content

PLJunior/Fall18

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PL Junior

PL Junior is a tradition of Northeastern's Programming Research Laboratory since ????. It is a weekly meeting of mostly first and second year phd students studying and discussing a variety of topics in programming languages research. However, anyone interested in learning PL topics is welcome.

Participants

  • Artem Pelenitsyn

Schedule

Sept 17

Topic: Intro to CPS
Guest lecturer: William Bowmen
Outline of the lecture:

  1. What is CPS? Continuation-Passing style, and transformations from direct style in CPS.
  2. Why CPS?
    • Making control-flow explicit Used in concurrent programming, such as GUI programming (call-backs are continuations).
    • Making evaluation order explicit Need to force evaluation to a value in CBN, or force CBN on a CBV machine.
    • Internalize the evaluation context To express control effects internally in the language.
    • A translation that makes values and computation distinct. Bad news: code is not actually data.
  3. Untyped CPS
    • "Plotkin's translation"
    • CBV
    • CBN
    • translating the evaluation context directly.
    • machine semantics
    • naturality
  4. Typed CPS
    • value vs computation vs programs (and their types)
    • "Double negation"
    • Fixed answer type
      • Actually, this is double negation to.
    • Locally polymoprhic answer type
      • Actually, this is double negation to.

The following is optional:

Sept 24 (ICFP week)

Topic: ANF/continuations
Papers to read for this week:

Progress: Page 1 -- 4

We read pages 1-4.

Papers that will follow later in this series:

Oct 1

Picking up on page 5

Topic: ANF/continuations (Continued)
Papers:

Progress: Page 5

Oct 8 (Columbus Day)

Topic: ANF/continuations (Continued Continued)
Papers:

Progress: Page 6 --10 (Before section 5)
Notes: https://github.com/PLJunior/Fall18/blob/master/notes-10-08.pdf

Oct 16 (Tuesday)

Topic: ANF/continuations
Papers:

Progress: -- Page 11 (Before the definition of 'size')

Oct 22

Topic: Same
Papers: Same
Progress: Finished section 5
Homework reading: Section 6 of conference paper version:

Oct 22

Topic: Same
Papers: Same

Progress: Finished section 6
Homework reading: Section 7 and 8

Nov 2 (Replacing next week's meeting)

New time and location: 5 pm in 366

Topic: Same
Papers: Same

Progress: Finished paper
What to next: We discussed what to do next. There were three options:

  1. more CPS
  2. monad
  3. algebraic effects
    We voted for learning monad from Wadler's paper:
    (...link to be appear...)

Nov 5 (SPLASH week) Canceled

Nov 12 (Veteran's Day?)

Nov 19 (Thanksgiving week?)

Nov 26 (Monday after Thanksgiving)

Dec 3

Dec 10 (last week of classes)

The following is topics brought up for this semester's meetings:

At the First meeting...

Voting
8 TAPL / ATAPL
6 Coq
8 Compiling with Continuations / ANF
5 Staging
7 Types papers
5 Static analysis

Textbook exercises

Later chapters of TAPL
Advanced TAPL
Software Foundations (later books/volumes)
Certified Programming with Dependent Types

Summer schools

OPLSS
DeepSpec

Reading papers / textbooks

Compiling with Continuations / without Continuations
ANF
Staging
Unifying Subtyping and Polymorphism
Familia? (OOPSLA 2017)
Static analysis
Type-preserving compilation

Conference talks / lectures

Compilers, inlining
Intermediate representations (compilers)

Maybe schedule practice talks / writing feedback separately

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages