Teaching and Learning Compilers Incrementally - Jeremy Siek - RacketCon 2023

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024
  • This talk is an introduction to the joys of teaching and learning about compilers using the incremental approach. The talk provides a sneak-preview of a compiler course based on the new textbooks from MIT Press, Essentials of Compilation: An Incremental Approach in Racket/Python. The course takes students on a journey through constructing their own compiler for a small but powerful language. The standard approach to describing and teaching compilers is to proceed one pass at a time, from the front to the back of the compiler. Unfortunately, that approach obfuscates how language features motivate design choices in a compiler. In this course we instead take an incremental approach in which we build a complete compiler every two weeks, starting with a small input language that includes only arithmetic and variables. We add new language features in subsequent iterations, extending the compiler as necessary. Students get immediate positive feedback as they see their compiler passing test cases and then learn important lessons regarding software engineering as they grow and refactor their compiler throughout the semester.
    Bio: Jeremy Siek is a Professor at Indiana University. Jeremy’s interests include programming language design, type systems, mechanized theorem proving, and compilers.
    con.racket-lan...

Комментарии • 5

  • @TheWalkthroughKiller
    @TheWalkthroughKiller 2 месяца назад +3

    Jeremy's book is such a vast improvement over legacy books like the Dragon Book or the Tiger book. I'd highly recommend it - I took his class in Fall 2023 and it was awesome!

    • @theunbearables
      @theunbearables 16 дней назад

      So there's no need to read dragon book if you read essentials of compilation?

    • @johndowson1852
      @johndowson1852 4 дня назад

      ​@@theunbearablesDragon Book is kinda outdated, in that it spends a lot of time on flexing and parsing, which by now is very trivial.

  • @zxenon555
    @zxenon555 10 месяцев назад +5

    Please put more descriptive titles to the videos! >:)

    • @racketlang
      @racketlang  10 месяцев назад +3

      Videos now have improved titles and descriptions! 🙂