nursery
nursery copied to clipboard
Renaming proposal.
Hi.
Having read the very same article and after some thinking I thought of implementing the very same library but luckily googled first. Congrats on making it before me :)
But I would suggest making the names shorter as the Go as a language tries to make everything concise and even the variable names are encouraged to be single letter in certain cases.
I observe the following problems (from my humble point of view) with the current naming (nursery.RunConcurrently()
).
- The
nursery
term usually refers to raising children, but since we run our goroutines to their very death, it's probably not perfect. - The
RunConcurrently
is already two words and just from the sound of it it's not clear, if the goroutines would be still running from after that - The "nursery run parallel" is not really a phrase.
My ideas on how to name it would be:
-
sync.Do()
, thoughsync
is taken so might cause problems for some people and still fails point (3) -
await.Run()
- that seems to work around problem (2) due to package name choice -
scoped.Run()
- feels a little better than previous one, tough the workaround for (2) is not there already. - ...
Having come from Python where we have the OG Trio and AnyIO for structured concurrency, I'd prefer that the Nursery
name stays consistent with Trio. AnyIO uses TaskGroup
though if you felt strongly enough to change it.
Some light reading on the subject: https://github.com/python-trio/trio/issues/504
usually refers to raising children
It's also commonly used as a place in which plants grow (concurrently!), which is perhaps the more apt definition.