async: 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.

Version: 0.3.2
Depends: R (≥ 4.1)
Imports: iterors, nseval (≥ 0.4.3), later, promises, testthat (≥ 3.0.0), stringr, methods
Suggests: rmarkdown, knitr, dplyr, curl, audio, profvis, ggplot2, XML
Published: 2023-05-25
Author: Peter Meilstrup [aut, cre]
Maintainer: Peter Meilstrup <peter.meilstrup at gmail.com>
BugReports: https://github.com/crowding/async/issues
License: GPL-2
URL: https://crowding.github.io/async/, https://github.com/crowding/async/
NeedsCompilation: no
Materials: README NEWS
CRAN checks: async results

Documentation:

Reference manual: async.pdf
Vignettes: The 'async' package: Generators, async/await, and asynchronous streams for R
A Musical Introduction to Generators
The Coroutine Language
Scraping the web quickly using async/await

Downloads:

Package source: async_0.3.2.tar.gz
Windows binaries: r-devel: async_0.3.2.zip, r-release: async_0.3.2.zip, r-oldrel: async_0.3.2.zip
macOS binaries: r-release (arm64): async_0.3.2.tgz, r-oldrel (arm64): async_0.3.2.tgz, r-release (x86_64): async_0.3.2.tgz
Old sources: async archive

Reverse dependencies:

Reverse suggests: QBMS

Linking:

Please use the canonical form https://CRAN.R-project.org/package=async to link to this page.