[TYPES/announce] New book: Essentials of Compilation

Siek, Jeremy jsiek at indiana.edu
Tue Feb 21 12:08:40 EST 2023


Dear colleagues,

I'm thrilled to announce that my new textbook
"Essentials of Compilation: An Incremental Approach in Racket"
is published by MIT Press today.

The book combines the nanopass approach that we've used at Indiana
University for some time with the incremental approach proposed by my
classmate Abdulaziz Ghuloum. The result is an introductory compiler
curriculum that (1) better reveals the connection between compiler
techniques and the programming language features that motivate them,
and (2) natural decomposes a semester-long project into 2 week
increments in which the students build working compilers.

===============================================================================

Essentials of Compilation: An Incremental Approach in Racket

Jeremy G. Siek

The MIT Press, February 2023

240 pages, ISBN: 9780262047760

https://urldefense.com/v3/__https://mitpress.mit.edu/9780262047760/essentials-of-compilation/__;!!IBzWLUs!RifxfYwfyn08USzrSQVmiAhOHQp7AzTVviomOx1bNnPymM2x3P1LzIRjDjlCBxBCS9XgsQQ6FCbEUZy8Eo4xfBZx10HtsRU$ 

===============================================================================

Description:

A hands-on approach to understanding and building compilers.

Compilers are notoriously difficult programs to teach and
understand. Most books about compilers dedicate one chapter to each
progressive stage, a structure that hides how language features
motivate design choices. By contrast, this innovative textbook
provides an incremental approach that allows students to write every
single line of code themselves. Essentials of Compilation guides the
reader in constructing their own compiler for a small but powerful
programming language, adding complex language features as the book
progresses. Jeremy Siek explains the essential concepts, algorithms,
and data structures that underlie modern compilers and lays the
groundwork for future study of advanced topics. Already in wide use by
students and professionals alike, this rigorous but accessible book
invites readers to learn by doing.

* Deconstructs the challenge of compiler construction into bite-sized pieces
* Enhances learning by connecting language features to compiler design choices
* Develops understanding of how programs are mapped onto computer hardware
* Learn-by-doing approach suitable for students and professionals
* Proven in the classroom
* Extensive ancillary resources include source code and solutions

===============================================================================

Contents:

Preface
1 Preliminaries
2 Integers and Variables
3 Register Allocation
4 Booleans and Conditionals
5 Loops and Dataflow Analysis
6 Tuples and Garbage Collection
7 Functions
8 Lexically Scoped Functions
9 Dynamic Typing
10 Gradual Typing
11 Generics

Appendix
References
Index
===============================================================================

–––––––––––––––––––––––––––
Jeremy G. Siek
jsiek at iu.edu<mailto:jsiek at iu.edu>
Professor of Computer Science
Indiana University
Luddy School of Informatics,
Computing, and Engineering



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://LISTS.SEAS.UPENN.EDU/pipermail/types-announce/attachments/20230221/1d10c0f4/attachment-0001.htm>


More information about the Types-announce mailing list