{"id":13471832,"url":"https://github.com/nuprl/10PL","last_synced_at":"2025-03-26T15:30:29.262Z","repository":{"id":38007313,"uuid":"44387488","full_name":"nuprl/10PL","owner":"nuprl","description":"10 papers that all PhD students in programming languages ought to know, for some value of 10","archived":false,"fork":false,"pushed_at":"2019-11-12T16:10:22.000Z","size":2090,"stargazers_count":895,"open_issues_count":1,"forks_count":29,"subscribers_count":57,"default_branch":"master","last_synced_at":"2024-10-30T04:10:39.321Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuprl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-16T13:40:37.000Z","updated_at":"2024-10-20T13:29:26.000Z","dependencies_parsed_at":"2022-07-12T17:04:38.443Z","dependency_job_id":null,"html_url":"https://github.com/nuprl/10PL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuprl%2F10PL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuprl%2F10PL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuprl%2F10PL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuprl%2F10PL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuprl","download_url":"https://codeload.github.com/nuprl/10PL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245681141,"owners_count":20655138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:00:49.638Z","updated_at":"2025-03-26T15:30:28.700Z","avatar_url":"https://github.com/nuprl.png","language":null,"readme":"# 10PL\n10 papers that all PhD students in programming languages ought to know, for some value of 10\n\nWhat\n----\n\nProgramming language researchers investigate the analysis, design,\nimplementation, and evaluation of programming languages. Our goal \nis that the papers come from all of these areas. \n\nWhy\n---\n\nA paper makes it on this list if one of us proposes the paper and none of\nthe others disagrees.\n\nA paper may make it on the list if it is a milestone in the intellectual\nhistory of programming languages, if it is a good paper, and if its ideas\nare still good today. \n\nA paper may make it on the list if it covers an area particularly well. \n\nA paper may make it on the list if a PhD student in PL should know about\nthis topic---even if it is outside of the confines of PL. \n\nA paper on this list may not be *not* essential to obtaining a PhD in\nPL. It is unlikely to introduce you to modern ways of dealing with a\ntopic. It is unlikely to be fashionable. It is improbable that you will\ncite it in your dissertation. But, all of us consider it worth your\nwhile. Reading it is good for your soul. \n\nThe List of Papers \n------------------\n\n[listed in alphabetical order of the first author's last name]\n\nL. Cardelli.\nType systems. \nHandbook of Computer Science and Engineering, 1997, 2208-2236.\n[url](http://lucacardelli.name/papers/typesystems.pdf)\n\nC. Chambers and D. Ungar.\nCustomization: Optimizing Compiler Technology for SELF, \na Dynamically-typed Object-oriented Programming Language.\nPLDI 1989, 146--160.\n[url](http://dl.acm.org/citation.cfm?id=74831)\n\nP. Cousot and R. Cousot.\nAbstract interpretation: a unified lattice model for static analysis of\nprograms by construction or approximation of fixpoints. \nPrinciples of Programming Languages, 1977, 238--252.\n[url](http://dl.acm.org/citation.cfm?id=512973)\n\nC.A.R. Hoare.\nAn axiomatic basis for computer programming. \nCommunications of the ACM, 1969, 12(10), 576-–580.\n[url](http://dl.acm.org/citation.cfm?id=363259)\n\nC.A.R. Hoare.\nProof of correctness of data representations.\nActa Informatica, 1972, 1, 271--281.\n[url](http://link.springer.com/article/10.1007%2FBF00289507#page-1)\n\nG.A. Kildall\nA Unified approach to global program optimization.\nPrinciples of Programming Languages, 1973, 194--206.\n[url](http://dl.acm.org/citation.cfm?id=512945)\n\nP.J. Landin \nThe next 700 programming languages. \nCommunications of the ACM, 1966, 9(3), 157--166.\n[url](http://dl.acm.org/citation.cfm?id=365257)\n\nJ.H. Morris, Jr. and Ben Wegbreit.\nSubgoal induction.\nCommunications of the ACM, 1977, 20(4), 209--222.\n[url](http://dl.acm.org/citation.cfm?id=359466)\n\nG. Morrisett, D. Walker, K. Crary, and N. Glew.\nFrom system F to typed assembly language.\nTransactions on Programming Languages and Systems, 1999, 21 (3), 527--568.\n[url](http://dl.acm.org/citation.cfm?id=319345)\n\nD.L. Parnas\nOn the criteria to be used in decomposing systems into modules.\nCommunications of the ACM, 1972, 15(12), 1053--1058.\n[url](http://dl.acm.org/citation.cfm?id=361623)\n\nG.D. Plotkin.\nCall-by-name, call-by-value, and the λ-calculus.\nTheoretical Computer Science 1 (1975), 125--159.\n[url](http://homepages.inf.ed.ac.uk/gdp/publications/cbn_cbv_lambda.pdf)\n\n----\n## changelog\n* Tue Oct 20 23:06:27 EDT 2015 \" added Amal's \"white ball\"\n* Tue Oct 20 21:13:13 EDT 2015 \" added \"modules\", removed \"Reynolds\" based\non discussion by Amal, Olin, and Matthias; added Olin's choices \n* Tue Oct 20 16:59:02 EDT 2015  \" added Mitch's suggestions \n* Fri Oct 16 12:47:38 EDT 2015  \" added Will's suggestions \n* Fri Oct 16 09:48:17 EDT 2015 Matthias creates and populates the\nrepository with Amal's, Jan's, and his own ideas\n","funding_links":[],"categories":["Others","Technical"],"sub_categories":["ramanihiteshc@gmail.com"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuprl%2F10PL","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuprl%2F10PL","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuprl%2F10PL/lists"}