Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Formal syntax and semantics of programming languages

    Formal syntax and semantics of programming languages

    Kenneth Slonneger · 1994

    ProgrammingComputer Science
    Open LibraryAmazon
    Stats for nerds
    2recommend
    5mentions
    3people
    2019–2025years
    60% recommend40% neutral

    Mentions per year

    2019202020212022202320242025

    What Hacker News says

    1. rramadassJul 2025
      PLT is an interdisciplinary field and as such needs a study of various logical/mathematical/language areas. Even wikipedia is pretty bad at explaining what it is - https://en.wikipedia.org/wiki/Programming_language_theory.

      The research community has failed the "ordinary" interested programmer wanting to learn PLT by not producing an overview/top-down book which brings together the various strands of needed knowledge into a coherent whole. Pierce/Harper/etc's books are simply overwhelming for a beginner without the requisite background knowledge.

      PLT approaches the idea of Computation from a formal system (i.e. language) pov and that is what needs to be communicated with the needed logical/mathematical knowledge inline. I have found the following useful in my study of PLT;

      Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach by Ken Slonneger and Barry Kurtz - https://homepage.divms.uiowa.edu/~slonnegr/ and https://homepage.divms.uiowa.edu/~slonnegr/plf/Book/

      Understanding Formal Methods by Jean-Francois Monin.

      thread
    2. rramadassSep 2022
      1) Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach by Kenneth Slonneger and Barry Kurtz - https://homepage.divms.uiowa.edu/~slonnegr/ (PDFs are available on the web).

      2) You may also find Cliff B. Jones' book Understanding Programming Languages useful.

      Excerpt from the preface;

      Fortunately, there is a less expensive way of sorting out the meaning of a programming language than writing a compiler. This book is about describing the meaning (semantics) of programming languages. A major objective is to teach the skill of writing semantic descriptions because this provides a way to think out and make choices about the semantic features of a programming language in a cost effective way. In one sense a compiler (or an interpreter) offers a complete formal description of the semantics of its source language. But it is not something that can be used as a basis for reasoning about the source language; nor can it serve as a definition of a programming language itself since this must allow a range of implementations. Writing a formal semantics of a language can yield a far shorter description and one about which it is possible to reason. To think that it is a sensible engineering process to go from a collection of sample programs directly to coding a compiler would be naive in the extreme. What a formal semantic description offers is a way to think out, record and analyse design choices in a language; such a description can also be the basis of a systematic development process for subsequent compilers. To record a description of the semantics of a language requires a notation —a “meta-language”. The meta-language used in this book is simple and is covered in easy steps throughout the early chapters.

      thread
    3. pjmlpJan 2019
      It is still a pretty damm book to read about compilers, if not anything else, at least from historical perspective.

      The Tiger book, "Compiling with Continuations" and "Lisp in Small Pieces" are some of my favourite ones.

      Then if you want to learn about language semantics validation, "Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach".

      thread
    4. frohNov 2025
      Slonneger, Kenneth, and Kurtz, Barry L.. Formal syntax and semantics of programming languages : a laboratory based approach. United Kingdom, Addison-Wesley Publishing Company, 1995.

      as the Amazon app wants to switch country and closes if I don't. (party pooper).

      from the Preface:

      Laboratory Activities

      Chapter 2: Scanning and parsing Wren

      Chapter 3: Context checking Wren using an attribute grammar

      Chapter 4: Context checking Hollerith literals using a two-level grammar

      Chapter 5: Evaluating the lambda calculus using its reduction rules

      Chapter 6: Self-definition of Scheme (Lisp) Self-definition of Prolog

      Chapter 7: Translating (compiling) Wren programs following an attribute grammar

      Chapter 8: Interpreting the lambda calculus using the SECD machine Interpreting Wren according to a definition using structural operational semantics

      Chapter 9: Interpreting Wren following a denotational specification

      Chapter 10: Evaluating a lambda calculus that includes recursive defini- tions

      Chapter 12: Interpreting Wren according to an algebraic specification of the language

      Chapter 13: Translating Pelican programs into action notation following a specification in action semantics.

      thread
    5. rramadassNov 2024
      While i am not too familiar with Prolog, i have been intending to study it in depth given that it can be used to design Languages/DSLs/Expert Systems/ML. Here are some resources which i have been collecting;

      1) Formal Syntax and Semantics of Programming Languages: A Laboratory-Based Approach by Ken Slonneger uses Prolog to design/implement languages - http://homepage.divms.uiowa.edu/~slonnegr/ and https://homepage.cs.uiowa.edu/~slonnegr/plf/Book/

      2) Defining and Implementing Domain-Specific Languages with Prolog (PhD thesis of Falco Nogatz) pdf here - https://opus.bibliothek.uni-wuerzburg.de/opus4-wuerzburg/fil...

      3) Use Prolog to improve LLM's reasoning HN thread - https://news.ycombinator.com/item?id=41831735

      4) User "bytebach" gives an example of using Prolog as an intermediate DSL in the prompt to an LLM so as to transform English declarative -> Imperative code - https://news.ycombinator.com/item?id=41549823

      5) Prolog in the LLM Era (a series by Eugene Asahara) - https://eugeneasahara.com/category/prolog-in-the-llm-era/

      thread

    Related

    Cover of Abstraction and specification in program development
    2010–2023

    Abstraction and specification in program development

    Barbara Liskov
    4 recommend · 7
    Cover of Advanced programming language design
    2015–2026

    Advanced programming language design

    Raphael A. Finkel
    2 recommend · 7
    Cover of Object-oriented programming
    2012–2026

    Object-oriented programming

    Brad J. Cox
    4 recommend · 17
    Cover of Compiler construction for digital computers
    2015–2026

    Compiler construction for digital computers

    David Gries
    1 recommend · 7
    Cover of Elements of programming
    2009–2026

    Elements of programming

    Alexander A. Stepanov
    31 recommend · 58
    Cover of Real-world functional programming
    2009–2023

    Real-world functional programming

    Tomas Petricek
    12 recommend · 19
    Cover of An introduction to functional programming through Lambda calculus
    2009–2023

    An introduction to functional programming through Lambda calculus

    Greg Michaelson
    14 recommend · 19
    Cover of The Haskell Road To Logic, Maths And Programming
    2009–2022

    The Haskell Road To Logic, Maths And Programming

    Jan van Eijck
    13 recommend · 20