If you’re specifically interested in 

1) Compilers, and
2) Racket,

I think it’s hard to do better than Jeremy Siek’s Essentials of Compilation. He 
comes from the Indiana group, as, indirectly, does just about everything around 
here, and his approach is very closely related to Dybvig/Chez, including a 
nanopass architecture. Shout-outs also to Andy Keep and Abdulaziz Ghuloum, who 
did a lot of work related to this.

Here’s the link to the most recent course web page:

https://iucompilercourse.github.io/IU-P423-P523-E313-E513-Fall-2020/

… including a link to the book.

I would also be remiss in not mentioning Ben Lerner’s NU compilers course, for 
which lecture notes are online:

https://course.ccs.neu.edu/cs4410sp20/#%28part._lectures%29

And finally, I want to take a brief moment to impugn the Dragon Book; the last 
time I checked, I thought that it represented a very outdated approach to 
writing a compiler. I’m probably biased, but if you want a heavy book on 
low-level programming, I would go for Keith Cooper’s Compilers book. Jeremy 
Siek’s book, by contrast, is free, describes how to implement high-level 
languages such as Racket, and does not contain an encyclopedic discussion of 
low-level optimization.

Everything here is just my opinion, of course!

John

> On Nov 27, 2020, at 15:42, Tim Meehan <btmee...@gmail.com> wrote:
> 
> Hendrik - sorry for misspelling your name 😱.
> 
> On Fri, Nov 27, 2020 at 5:41 PM Tim Meehan <btmee...@gmail.com> wrote:
> Thanks for the links, Hendrick and Matt!
> The holidays gave me some time to learn about things that I had put on the 
> back burner all year, so this is great timing.
> 
> 
> 
> On Fri, Nov 27, 2020 at 2:57 PM Matt Jadud <m...@jadud.com> wrote:
> 
> 
> On Fri, Nov 27, 2020 at 12:40 PM Hendrik Boom <hend...@topoi.pooq.com> wrote:
> On Wed, Nov 25, 2020 at 09:46:21AM -0600, Tim Meehan wrote:
> I found a book by Dick Grune et al to be somewhat lighter than the dragon 
> book.  Looking online, I discoered I was thinking of the first edition.  I 
> haven't seen the second edition, but I'd guess the second edition would be 
> similar, though it has rather more material:
> 
> https://dickgrune.com/Books/MCD_1st_Edition/
> https://dickgrune.com/Books/MCD_2nd_Edition/
> 
> When I saw the first edition, I decided that if I were teaching an 
> introductory course in compilers, I would use it as textbook.
> 
> 
> I've been fond of 
> 
> https://www.nand2tetris.org/ 
> 
> for a while as a "soup to nuts" overview of computation from the NAND gate up 
> through a simple computer, a simplified assembly language, assembler, 
> compiler, VM, and so on. It's not an advanced text, but it does provide a 
> hands-on bottom-to-top view of the computational world that can help orient 
> someone who is exploring the space.
> 
> It's also why I keep wondering when I'm going to break down and pick up a 
> little FPGA board for myself and just play. :)
> 
> Cheers,
> Matt
> 
> -- 
> 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/CAAGM454t_FNXj8RHTbLuC1pe-14i-rF%3DyQ_B%2BmSvoE4DGUyMAw%40mail.gmail.com.
> 
> -- 
> 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/CACgrOxKt0oS%3DXGRjujvZ6p9jkKaHS5r44SWVWGw0cu8z%3DOXrpg%40mail.gmail.com.

-- 
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/2ceb25aa-b12b-4949-8ca9-22f7e9196091%40mtasv.net.

Reply via email to