Writing regular R code is straightforward: you tell R to do something, it does it, and then it returns control back to you. This is called synchronous programming. However, if you use R to coordinate threads, processes, or network communication, the regular model may be unable to do what you want, or it may only be able to do it with a significant performance penalty. In this talk I'll explain how asynchronous programming with the later package can handle these kinds of programming problems. I'll also show how to provide a synchronous interface for asynchronous code, so that users will have a simple, familiar way to use your code.
Winston Chang is a software engineer at Posit and currently works on Shiny and related projects. He has also worked on several other R packages, including devtools, R6, and ggplot2. Winston is the author of the R Graphics Cookbook, published by O'Reilly Media, and has a PhD in psychology from Northwestern University.