Now with threaded dispatcher, this argument is no longer boolean. However, it is easy to continue using the existing name and special case the existing TRUE/FALSE so they continue to work as before.
Replacing with dispatcher = c("process", "thread", "none") has the following additional advantages:
encourages use of dispatcher = "thread" as the NA option is non-obvious
having dispatcher = "none" as one of 3 options makes it seem subtly less undesirable than dispatcher = FALSE
allows the eventual transition to "thread" as the default, with downstream packages able to lock in dispatcher = "process"
As suggested by @hadley in https://github.com/shikokuchuo/mirai/pull/142#discussion_r1759529472.
Now with threaded dispatcher, this argument is no longer boolean. However, it is easy to continue using the existing name and special case the existing TRUE/FALSE so they continue to work as before.
Replacing with
dispatcher = c("process", "thread", "none")
has the following additional advantages:dispatcher = "thread"
as the NA option is non-obviousdispatcher = "none"
as one of 3 options makes it seem subtly less undesirable thandispatcher = FALSE
dispatcher = "process"