

An experimental 'LINQ to Objects' in Go - suzuki
http://www.oki-osk.jp/esc/golang/linq2-en.html

======
suzuki
Example:

package main

import ( "fmt"; . "linq" )

var Fibonacci Enumerate = func(yield Operate) error { a := 0; b := 1; for {
err := yield(a); if err != nil { return err }; a, b = b, a+b } }

func main() { twentyFibs := Fibonacci.Take(20); twentyFibs(func(e Any) error {
fmt.Printf(" %v", e); return nil }); fmt.Println() }

Output: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

