Skip to content

seb-afk/crafting-interpreters

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crafting Interpreters Book Study Group

Let's study Crafting Interpreters together.

banner-crafting-interpreters.png

The idea is: we study individually, but on an agreed schedule (e.g. read Chapter 3 and do the challenges), and have a regular online meetup where we exchange our issues and help each other. Provisionally the schedule is every two weeks, but we'll see what pace is comfortable/sustainable. We skip the meetings during the school holidays of the canton of Zuerich.

Synopsis of the book (Amazon review)

Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam.

That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun.

This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused.

links

Book

https://craftinginterpreters.com/

Articles

https://corecursive.com/032-bob-nystrom-on-building-an-interpreter/

repo

robert Nystrom's repo:

https://github.com/munificent/craftinginterpreters

our repo

https://github.com/CodersOnlyCH/crafting-interpreters

Timetable

Crafting Interpreters Study Group: Chapter 1 (Introduction)

The idea is: we study individually, but on an agreed schedule (e.g. read Chapter 3 and do the challenges), and have a regular online meetup where we exchange our issues and help each other. Provisionally the schedule is every two weeks, but we'll see what pace is comfortable/sustainable. We skip the meetings during the school holidays of the canton of Zuerich.

Homework:

  • Read chapter 1:

https://craftinginterpreters.com/introduction.html

  • do the challenges of the chapter

Extra Homework:

We review this work on Review Meeting 1 on Thursday 09 January 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 2 (A map of the territory)

Homework:

  • Read chapter 2: https://craftinginterpreters.com/a-map-of-the-territory.html

  • do the challenges of the chapter

We review this work on Review Meeting 2 on Thursday 23 January 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 3 (The lox language)

Homework:

  • Read chapter 3: https://craftinginterpreters.com/the-lox-language.html

  • do the challenges of the chapter

We review this work on Review Meeting 3 on Thursday 27 February 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 4 (Scanning)

Homework:

  • Read chapter 4: https://craftinginterpreters.com/scanning.html

  • do the challenges of the chapter

We review this work on Review Meeting 4 on Thursday 13 March 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 5 (Representing code)

Homework:

  • Read chapter 5: https://craftinginterpreters.com/representing-code.html

  • do the challenges of the chapter

We review this work on Review Meeting 5 on Thursday 27 March 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 6 (Parsing expressions)

Homework:

  • Read chapter 6: https://craftinginterpreters.com/parsing-expressions.html

  • do the challenges of the chapter

We review this work on Review Meeting 6 on Thursday 10 April 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 7 (Evaluating expressions)

Homework:

  • Read chapter 7: https://craftinginterpreters.com/evaluating-expressions.html

  • do the challenges of the chapter

We review this work on Review Meeting 7 on Thursday 08 May 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 8 (Statements and state)

Homework:

  • Read chapter 8: https://craftinginterpreters.com/statements-and-state.html

  • do the challenges of the chapter

We review this work on Review Meeting 8 on Thursday 22 May 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 9 (Control flow)

Homework:

  • Read chapter 9: https://craftinginterpreters.com/control-flow.html

  • do the challenges of the chapter

We review this work on Review Meeting 9 on Thursday 12 June 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 10 (Functions)

Homework:

  • Read chapter 10: https://craftinginterpreters.com/functions.html

  • do the challenges of the chapter

We review this work on Review Meeting 10 on Thursday 26 June 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 11 (Resolving and binding)

Homework:

  • Read chapter 11: https://craftinginterpreters.com/resolving-and-binding.html

  • do the challenges of the chapter

We review this work on Review Meeting 11 on Thursday 10 July 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 12 (Classes)

Homework:

  • Read chapter 12: https://craftinginterpreters.com/classes.html

  • do the challenges of the chapter

We review this work on Review Meeting 12 on Thursday 28 August 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 13 (Inheritance)

Homework:

  • Read chapter 13: https://craftinginterpreters.com/inheritance.html

  • do the challenges of the chapter

We review this work on Review Meeting 13 on Thursday 11 September 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 14 (Chunks of bytecode)

Homework:

  • Read chapter 14: https://craftinginterpreters.com/chunks-of-bytecode.html

  • do the challenges of the chapter

We review this work on Review Meeting 14 on Thursday 25 September 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 15 (A virtual machine)

Homework:

  • Read chapter 15: https://craftinginterpreters.com/a-virtual-machine.html

  • do the challenges of the chapter

We review this work on Review Meeting 15 on Thursday 23 October 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 16 (Scanning on demand)

Homework:

  • Read chapter 16: https://craftinginterpreters.com/scanning-on-demand.html

  • do the challenges of the chapter

We review this work on Review Meeting 16 on Thursday 13 November 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 17 (Compiling expressions)

Homework:

  • Read chapter 17: https://craftinginterpreters.com/compiling-expressions.html

  • do the challenges of the chapter

We review this work on Review Meeting 17 on Thursday 27 November 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 18 (Types of values)

Homework:

  • Read chapter 18: https://craftinginterpreters.com/types-of-values.html

  • do the challenges of the chapter

We review this work on Review Meeting 18 on Thursday 11 December 2025, 19:00 CET

Crafting Interpreters Study Group: Chapter 19 (Strings)

Homework:

  • Read chapter 19: https://craftinginterpreters.com/strings.html

  • do the challenges of the chapter

We review this work on Review Meeting 19 on Thursday 08 January 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 20 (Hash tables)

Homework:

  • Read chapter 20: https://craftinginterpreters.com/hash-tables.html

  • do the challenges of the chapter

We review this work on Review Meeting 20 on Thursday 22 January 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 21 (Global variables)

Homework:

  • Read chapter 21: https://craftinginterpreters.com/global-variables.html

  • do the challenges of the chapter

We review this work on Review Meeting 21 on Thursday 26 February 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 22 (Local variables)

Homework:

  • Read chapter 22: https://craftinginterpreters.com/local-variables.html

  • do the challenges of the chapter

We review this work on Review Meeting 22 on Thursday 12 March 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 23 (Jumping back and forth)

Homework:

  • Read chapter 23: https://craftinginterpreters.com/jumping-back-and-forth.html

  • do the challenges of the chapter

We review this work on Review Meeting 23 on Thursday 26 March 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 24 (Calls and functions)

Homework:

  • Read chapter 24: https://craftinginterpreters.com/calls-and-functions.html

  • do the challenges of the chapter

We review this work on Review Meeting 24 on Thursday 09 April 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 25 (Closures)

Homework:

  • Read chapter 25: https://craftinginterpreters.com/closures.html

  • do the challenges of the chapter

We review this work on Review Meeting 25 on Thursday 14 May 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 26 (Garbage collection)

Homework:

  • Read chapter 26: https://craftinginterpreters.com/garbage-collection.html

  • do the challenges of the chapter

We review this work on Review Meeting 26 on Thursday 28 May 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 27 (Classes and instances)

Homework:

  • Read chapter 27: https://craftinginterpreters.com/classes-and-instances.html

  • do the challenges of the chapter

We review this work on Review Meeting 27 on Thursday 11 June 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 28 (Methods and initializers)

Homework:

  • Read chapter 28: https://craftinginterpreters.com/methods-and-initializers.html

  • do the challenges of the chapter

We review this work on Review Meeting 28 on Thursday 25 June 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 29 (Superclasses)

Homework:

  • Read chapter 29: https://craftinginterpreters.com/superclasses.html

  • do the challenges of the chapter

We review this work on Review Meeting 29 on Thursday 09 July 2026, 19:00 CET

Crafting Interpreters Study Group: Chapter 30 (Optimization)

Homework:

  • Read chapter 30: https://craftinginterpreters.com/optimization.html

  • do the challenges of the chapter

We review this work on Review Meeting 30 on Thursday 27 August 2026, 19:00 CET

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%