crowding/generators: Coroutines: Generators / Yield, Async / Await, and Streams

Write sequential-looking code that pauses and resumes. gen() creates a generator, an iterator that returns a value and pauses each time it reaches a yield() call. async() creates a promise, which runs until it reaches a call to await(), then resumes when information is available. These work similarly to generator and async constructs from 'Python' or 'JavaScript'. Objects produced are compatible with the 'iterators' and 'promises' packages. Version 0.3 supports on.exit, single-step debugging, stream() for making asynchronous iterators, and delimited goto() in switch() calls.

Getting started

Package details

Maintainer
LicenseGPL-2
Version0.3.2
URL https://crowding.github.io/async/ https://github.com/crowding/async/
Package repositoryView on GitHub
Installation Install the latest version of this package by entering the following in R:
install.packages("remotes")
remotes::install_github("crowding/generators")
crowding/generators documentation built on June 28, 2023, 6:14 a.m.