nursery icon indicating copy to clipboard operation
nursery copied to clipboard

Renaming proposal.

Open snakeru opened this issue 3 years ago • 1 comments

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()).

  1. The nursery term usually refers to raising children, but since we run our goroutines to their very death, it's probably not perfect.
  2. 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
  3. The "nursery run parallel" is not really a phrase.

My ideas on how to name it would be:

  1. sync.Do(), though sync is taken so might cause problems for some people and still fails point (3)
  2. await.Run() - that seems to work around problem (2) due to package name choice
  3. scoped.Run() - feels a little better than previous one, tough the workaround for (2) is not there already.
  4. ...

snakeru avatar Apr 01 '21 19:04 snakeru

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.

flyte avatar Oct 24 '21 15:10 flyte