• Implements the %>>% deferred evaluation pipe.
• Adds ‘.timeout’ argument to mirai() to ensure a mirai always resolves even if the child process crashes etc.
• Exits cleanly when daemons have not been explicitly zeroed prior to ending an R session.
• Fixes possible hang on Windows when shutting down daemons.
• Back to a pure R implementation thanks to enhanced internal design at nanonext.
• Adds auxiliary function is_mirai() to test if an object is a mirai.
• Versioning system to synchronise with nanonext e.g. v0.4.x requires nanonext >= 0.4.0.
• The value of a mirai is now stored at data to optimally align with the underlying implementation. • Package now contains C code (requires compilation), using weak references for simpler management of resources. • Switch to abstract sockets on Linux. • mirai() added as an alias for eval_mirai(); supports evaluating arbitrary length expressions wrapped in {}. • A mirai now resolves automatically without requiring call_mirai(). Access the value directly and an ‘unresolved’ logical NA will be returned if the async operation is yet to complete.
• stop_mirai() added as a function to stop evaluation of an ongoing async operation.
• Auxiliary functions is_nul_byte() and unresolved() re-exported from {nanonext} to test for evaluation errors and resolution of a ‘mirai’ respectively.
• New daemons() interface to set and manage persistent background processes for receiving ‘mirai’ requests.
• Initial release.