Re: Re: resources on PL design

Matthias Felleisen <[email protected]>
Newsgroups gmane.comp.lang.racket.user,gmane.lisp.scheme.plt
Message-ID <[email protected]>
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 <[email protected]> wrote:
> 
> Thanks. Added. 
> (despite horrible ACM paywall)
> 
> Kind regards 
> Stephen
> 
> On Sun, 30 Jun 2019 at 15:32, Sam Caldwell <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> 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+unsubscribe-/[email protected] <mailto:racket-users+unsubscribe-/[email protected]>.
> 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+unsubscribe-/[email protected] <mailto:racket-users+unsubscribe-/[email protected]>.
> 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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/[email protected]
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.