!!Con 2019- Tail Call Optimization: The Musical!! by Anjana Vakil & Natalia Margolis
!!Con 2019- Tail Call Optimization: The Musical!! by Anjana Vakil & Natalia Margolis
“Stack overflow”! “Maximum call stack size exceeded”!! “Too much recursion”!!!
You may have seen errors like these thrown when you attempt to run a deeply recursive function. Computers can be so dramatic! But what’s the conflict, exactly, between recursion and call stacks? And is there any hope for resolving it into a happy ending? In this musical talk we’ll see why recursion poses a problem for the finite-memory call stack in our language runtime (we’ll use a JavaScript engine as an example), and learn how “Tail Call Optimization” (TCO) - a particularly cool implementation feature of some engines - lets us get around that problem, when paired with so-called “tail-recursive” functions. We’ll sing our way through the meaning of these terms to explore how TCO messes with the call stack (in a useful way!), as we mess with the lyrics to some of our favorite animated musical songs (in a nerdy way!).
Видео !!Con 2019- Tail Call Optimization: The Musical!! by Anjana Vakil & Natalia Margolis канала Confreaks
“Stack overflow”! “Maximum call stack size exceeded”!! “Too much recursion”!!!
You may have seen errors like these thrown when you attempt to run a deeply recursive function. Computers can be so dramatic! But what’s the conflict, exactly, between recursion and call stacks? And is there any hope for resolving it into a happy ending? In this musical talk we’ll see why recursion poses a problem for the finite-memory call stack in our language runtime (we’ll use a JavaScript engine as an example), and learn how “Tail Call Optimization” (TCO) - a particularly cool implementation feature of some engines - lets us get around that problem, when paired with so-called “tail-recursive” functions. We’ll sing our way through the meaning of these terms to explore how TCO messes with the call stack (in a useful way!), as we mess with the lyrics to some of our favorite animated musical songs (in a nerdy way!).
Видео !!Con 2019- Tail Call Optimization: The Musical!! by Anjana Vakil & Natalia Margolis канала Confreaks
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Tail Recursion Explained - Computerphile](https://i.ytimg.com/vi/_JtPhF8MshA/default.jpg)
![Anjana Vakil: Immutable data structures for functional JS | JSConf EU](https://i.ytimg.com/vi/Wo0qiGPSV-s/default.jpg)
![Object Oriented Programming is not what I thought - Talk by Anjana Vakil](https://i.ytimg.com/vi/TbP2B1ijWr8/default.jpg)
![Simon Peyton Jones - Revisiting pattern match overlap checks in Haskell | Code Mesh LDN 19](https://i.ytimg.com/vi/SWO5OzSxD6Y/default.jpg)
![Japanese Music Notation (shakuhachi music)](https://i.ytimg.com/vi/CpJPnCaIy80/default.jpg)
![](https://i.ytimg.com/vi/vDHYqI_kJAY/default.jpg)
![The Call Stack and Stack Overflows (example in C)](https://i.ytimg.com/vi/jVzSBkbfdiw/default.jpg)
![Learning Functional Programming with JavaScript - Anjana Vakil - JSUnconf](https://i.ytimg.com/vi/e-5obm1G_FY/default.jpg)
![Why Isn't Functional Programming the Norm? – Richard Feldman](https://i.ytimg.com/vi/QyJZzq0v7Z4/default.jpg)
![Tail Call Optimization](https://i.ytimg.com/vi/SPri4PTUY_8/default.jpg)
![Dynamic Programming - Learn to Solve Algorithmic Problems & Coding Challenges](https://i.ytimg.com/vi/oBt53YbR9Kk/default.jpg)
![10,000 Java performance tips over 15 years - what did I learn? by Jack Shirazi](https://i.ytimg.com/vi/OYpTn0nWKR4/default.jpg)
![Clyde Stubblefield never got paid!](https://i.ytimg.com/vi/STrA4iREipI/default.jpg)
![Programming Across Paradigms • Anjana Vakil • GOTO 2017](https://i.ytimg.com/vi/Pg3UeB-5FdA/default.jpg)
![Tail recursion/Tail-Call Optimization | Recursion in programming |DS & Algorithm| Gate Appliedcourse](https://i.ytimg.com/vi/Wpkh5YSqwqg/default.jpg)
![Rapping JavaScript source code over Wu-Tang Clan beat (Tearz) by Subliminal Spectrum](https://i.ytimg.com/vi/f5dx4DgxslQ/default.jpg)
![The Coltrane Fractal](https://i.ytimg.com/vi/J98jwtm5U4E/default.jpg)
![David Beazley - Lambda Calculus from the Ground Up - PyCon 2019](https://i.ytimg.com/vi/pkCLMl0e_0k/default.jpg)
![The Language of Programming • Anjana Vakil • GOTO 2019](https://i.ytimg.com/vi/6EdFiISk22k/default.jpg)
![Franziska Hinkelmann: JavaScript engines - how do they even? | JSConf EU](https://i.ytimg.com/vi/p-iiEDtpy6I/default.jpg)