The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

  1. Guidance for Package Authors

Table of Contents

  1. Developer Interfaces
  2. Points to Note

Developer Interfaces

mirai offers the following functions primarily for package authors wishing to build on mirai:

  1. daemons_set() may be used to detect if daemons have already been set and prompt the user to set daemons if not.

  2. on_daemon() may be used to detect if code is running on a daemon, i.e. within a mirai() call.

  3. nextget(), for querying values for a compute profile, such as ‘urls’, described in the function’s documentation. Note: only the specifically-documented values are supported interfaces.

« Back to ToC

Points to Note

mirai as a framework is designed to support completely transparent and inter-operable use within packages. A core design precept of not relying on global options or environment variables minimises the likelihood of conflict between use by different packages.

There are hence only a few important points to note:

  1. daemons() settings should wherever possible be left to end-users. This means that as a package author, you should just consider that mirai are run on whatever resources are available to the user at the time the code is run. You do not need to anticipate whether an end-user will run the code on their own machine, distributed over the network, or a mixture of both.
  1. The shape and contents of a status() call must not be used programatically, as this user interface is subject to change at any time. Use nextget() instead.

  2. The functions unresolved(), is_error_value(), is_mirai_error(), and is_mirai_interrupt() should be used to test for the relevant state of a mirai or its value.

  1. Testing on CRAN should respect it’s 2-core usage limit.

« Back to ToC

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.