• Stars
    star
    885
  • Rank 51,582 (Top 2 %)
  • Language
  • Created about 9 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

10 papers that all PhD students in programming languages ought to know, for some value of 10

10PL

10 papers that all PhD students in programming languages ought to know, for some value of 10

What

Programming language researchers investigate the analysis, design, implementation, and evaluation of programming languages. Our goal is that the papers come from all of these areas.

Why

A paper makes it on this list if one of us proposes the paper and none of the others disagrees.

A paper may make it on the list if it is a milestone in the intellectual history of programming languages, if it is a good paper, and if its ideas are still good today.

A paper may make it on the list if it covers an area particularly well.

A paper may make it on the list if a PhD student in PL should know about this topic---even if it is outside of the confines of PL.

A paper on this list may not be not essential to obtaining a PhD in PL. It is unlikely to introduce you to modern ways of dealing with a topic. It is unlikely to be fashionable. It is improbable that you will cite it in your dissertation. But, all of us consider it worth your while. Reading it is good for your soul.

The List of Papers

[listed in alphabetical order of the first author's last name]

L. Cardelli. Type systems. Handbook of Computer Science and Engineering, 1997, 2208-2236. url

C. Chambers and D. Ungar. Customization: Optimizing Compiler Technology for SELF, a Dynamically-typed Object-oriented Programming Language. PLDI 1989, 146--160. url

P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. Principles of Programming Languages, 1977, 238--252. url

C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 1969, 12(10), 576-–580. url

C.A.R. Hoare. Proof of correctness of data representations. Acta Informatica, 1972, 1, 271--281. url

G.A. Kildall A Unified approach to global program optimization. Principles of Programming Languages, 1973, 194--206. url

P.J. Landin The next 700 programming languages. Communications of the ACM, 1966, 9(3), 157--166. url

J.H. Morris, Jr. and Ben Wegbreit. Subgoal induction. Communications of the ACM, 1977, 20(4), 209--222. url

G. Morrisett, D. Walker, K. Crary, and N. Glew. From system F to typed assembly language. Transactions on Programming Languages and Systems, 1999, 21 (3), 527--568. url

D.L. Parnas On the criteria to be used in decomposing systems into modules. Communications of the ACM, 1972, 15(12), 1053--1058. url

G.D. Plotkin. Call-by-name, call-by-value, and the λ-calculus. Theoretical Computer Science 1 (1975), 125--159. url


changelog

  • Tue Oct 20 23:06:27 EDT 2015 " added Amal's "white ball"
  • Tue Oct 20 21:13:13 EDT 2015 " added "modules", removed "Reynolds" based on discussion by Amal, Olin, and Matthias; added Olin's choices
  • Tue Oct 20 16:59:02 EDT 2015 " added Mitch's suggestions
  • Fri Oct 16 12:47:38 EDT 2015 " added Will's suggestions
  • Fri Oct 16 09:48:17 EDT 2015 Matthias creates and populates the repository with Amal's, Jan's, and his own ideas

More Repositories

1

MultiPL-E

A multi-programming language benchmark for LLMs
Python
183
star
2

Stopify

A JS-to-JS compiler that makes it easier to build Web IDEs and compile to JS.
JavaScript
170
star
3

hopl-s2017

History of Programming Languages, Spring 2017
TeX
127
star
4

PromiseKeeper

Finding Broken Promises in Asynchronous JavaScript Programs
JavaScript
57
star
5

augur

Performant taint analysis for Node.js
JavaScript
48
star
6

CanItEdit

Can It Edit? Evaluating the Ability of Large Language Models to Follow Code Editing Instructions
Python
34
star
7

Ocelot

An IDE for JavaScript, without the "bad parts".
TypeScript
30
star
8

website

Source for PRL website
Racket
17
star
9

gradual-typing-performance

Racket
10
star
10

softscheme

Andrew Wright's soft type system for R4 Scheme
Scheme
6
star
11

TypeWeaver

Artifact for the ECOOP 2023 paper: Do Machine Learning Models Produce TypeScript Types that Type Check?
TypeScript
5
star
12

ElementaryJS

JavaScript without the sharp edges
TypeScript
4
star
13

gtp

NSF grant website
HTML
3
star
14

nuprl.github.io-archive

Build artifacts for prl.ccs.neu.edu - DON'T MAKE CHANGES HERE - go to
HTML
3
star
15

retic_performance

Performance evaluation of Reticulated Python
Racket
3
star
16

tag-sound

Source for "A Spectrum of Type Soundness and Performance", ICFP 2018
Racket
3
star
17

jankscripten

Rust
2
star
18

prl-seminar-junior

PRLSeminar, Junior: information, materials, schedule
2
star
19

TypeWhich

Customizable, solver-based type migration for the gradually-typed lambda calculus.
Rust
2
star
20

gfd-oopsla-2019

Paper, proofs, and code for "Complete Monitors for Gradual Types"
TeX
1
star
21

wimpl

Rust
1
star
22

formalizations-in-agda

1
star
23

fsp-benchmarks

1
star
24

softscheme-web

Scheme
1
star
25

prl-website

The website renderer for the Programming Research Laboratory at Northeastern University
Scheme
1
star