I'm not sure what you mean. The `yield` function does exactly the same as Python's `yield` statement and in fact, that's part of why the name was chosen.
Compare Python: def vals(a): for v in a: yield v for x in vals([1,2,3]): print(x) With Go: func vals[T any](s []T) iter.Seq[T] { return func(yield func(T) bool) { for _, v := range s { if !yield(v) { return } } } } func main() { for v := range vals([]int{1,2,3}) { fmt.Println(v) } } Sure, there is a little bit more ceremony involved, as you need things to be typed and need to return a closure. But ultimately, the generating function (in Go, the closure) calls yield to… yield a value. On Wed, Feb 7, 2024 at 4:43 PM mspre...@gmail.com <mspreitz...@gmail.com> wrote: > The go language is getting better and better for functional programming, > and I am here for it. I have enjoyed using APL, Scheme, Python. I was > excited to see https://go.dev/wiki/RangefuncExperiment . However, I am > puzzled by the choice to name the function parameter that _receives_ a > Seq's values "yield". That func does the _complement_ to "yield", it > _receives_ the value. Compare with Python's "yield" statement, which > _provides_ the value. Couldn't we call the func parameter that receives a > Seq's values something like "receive" or "consume"? > > Thanks, > Mike > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/40005721-c187-48bf-b5c4-d66de2263185n%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/40005721-c187-48bf-b5c4-d66de2263185n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAEkBMfF1mYn%3D1T52CJSnPdfsn8TQNWQKO_NMmnAAxeHXZgD77Q%40mail.gmail.com.