Sam’s advice is good. You might be able to find draft versions of ACM HOPL 
articles on the authors’ web sites (or likely others who taught from these 
articles, because many of these articles appeared before the web and some of 
the authors are dead). 

In general, I think we lack a design theory for PL. What we have is an analysis 
theory (which is often written down with interpreters and/or horizontal lines 
combined with Greek letters, and some Hebrew thrown in on occasion because we 
run out of the others). 

We also lack a design empirics, even though some first articles and 
dissertations in this direction are appearing. I just happen to be extremely 
skeptical of the results. I just don’t think we know how to ask the questions 
properly. See 
https://felleisen.org/matthias/Thoughts/The_Laffer_Curve_of_Types.html 
<https://felleisen.org/matthias/Thoughts/The_Laffer_Curve_of_Types.html> for an 
idea of what I mean. 

— Matthias





> On Jun 30, 2019, at 12:05 PM, Stephen De Gabrielle <spdegabrie...@gmail.com> 
> wrote:
> 
> Thanks. Added. 
> (despite horrible ACM paywall)
> 
> Kind regards 
> Stephen
> 
> On Sun, 30 Jun 2019 at 15:32, Sam Caldwell <s...@ccs.neu.edu 
> <mailto:s...@ccs.neu.edu>> wrote:
> I'd add the HOPL proceedings to the mix:
> 
> https://hopl4.sigplan.org/track/hopl-4-papers#History-of-HOPL 
> <https://hopl4.sigplan.org/track/hopl-4-papers#History-of-HOPL>
> 
> Where the designers of languages often talk about their motivations, why they 
> made particular decisions, and what kinds of effects those decisions seemed 
> to have.
> 
> On Sun, Jun 30, 2019 at 7:24 AM Stephen De Gabrielle <spdegabrie...@gmail.com 
> <mailto:spdegabrie...@gmail.com>> wrote:
> I've added EOPL and some others. I obviously haven't read all these, but have 
> added them because they refer to PL design or implementation in description 
> or TOC.
> Thanks to those who responded.
> 
> https://github.com/racket/racket/wiki/Creating-Languages#Books 
> <https://github.com/racket/racket/wiki/Creating-Languages#Books>
> Books
> 
> Programming Languages: Application and Interpretation 
> <http://cs.brown.edu/courses/cs173/2012/book/> by Shriram Krishnamurthi (see 
> the PLAI Typed Language #lang plai-typed 
> <https://docs.racket-lang.org/plai-typed/index.html>)
> Essentials of Programming Languages <http://www.eopl3.com/> by Daniel P. 
> Friedman and Mitchell Wand (Publisher 
> <https://mitpress.mit.edu/books/essentials-programming-languages-third-edition>)
> Design Concepts in Programming Languages 
> <https://mitpress.mit.edu/books/design-concepts-programming-languages> by 
> Franklyn Turbak, David Gifford and Mark Sheldon
> Programming Language Pragmatics by Michael L. Scott
> Practical Foundations for Programming Languages by Professor Robert Harper
> Principles of Programming Languages: Design, Evaluation, and Implementation 
> by Bruce J. MacLennan
> Advanced Programming Language Design 
> <https://www.cs.uky.edu/~raphael/courses/CS655/Advanced_programming_language_design.pdf>
>  by Raphael Finkel
> Lisp in Small Pieces <https://pages.lip6.fr/Christian.Queinnec/WWW/LiSP.html> 
> by Christian Queinnec and covers 'semantics and the implementation of the 
> whole Lisp family of languages, namely Lisp, Scheme and related dialects. It 
> describes 11 interpreters and 2 compilers'
> Structure and Interpretation of Computer Programs - teaches computer science 
> by teaching students how to implement interpreters. (see also the Racket 
> #lang sicp designed to go with the book 
> <https://docs.racket-lang.org/sicp-manual/>)
> 
> 
> On Fri, Jun 28, 2019 at 1:13 PM Stephen De Gabrielle <spdegabrie...@gmail.com 
> <mailto:spdegabrie...@gmail.com>> wrote:
> Hi,
> 
> I'm looking for resources on PL *design*., i.e. deciding what to make and how 
> to assess/test those design decisions,  before moving onto how to make it. 
> 
> Any additions, opinions or advice appreciated:
> Programming Languages: Application and Interpretation by Shriram 
> Krishnamurthi  https://www.plai.org/ <https://www.plai.org/>
> Programming Language Pragmatics by Michael L. Scott
> 
> Practical Foundations for Programming Languages by Professor Robert Harper
> 
> Design Concepts in Programming Languages (The MIT Press) by Franklyn Turbak
> 
> Kind regards,
>  
> Stephen
>  
> * the languages are not important but FYI: Cobol, vb6, vb.net 
> <http://vb.net/>, C/C++, PHP, Python, c#, Java, MUMPS & JavaScript. 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com 
> <mailto:racket-users+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/CAGHj7-KOEDGxyXfQ3m2p%3D1rAHsaqTWRBHYGfmriv_Lq%3DpXdPAA%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/racket-users/CAGHj7-KOEDGxyXfQ3m2p%3D1rAHsaqTWRBHYGfmriv_Lq%3DpXdPAA%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> -- 
> ----
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com 
> <mailto:racket-users+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/CAGHj7-KMJsMVYdDVJx4Wvh8twyyv3nBaeh7gUpaFDPxXufFaNw%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/racket-users/CAGHj7-KMJsMVYdDVJx4Wvh8twyyv3nBaeh7gUpaFDPxXufFaNw%40mail.gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/98FFE7C3-8F52-42A6-8317-4C9113E4120A%40felleisen.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to