The 'LINQ for Go' passes around slices as sequences. It differs in both space and time complexities from the 'LINQ to Objects' in C#.<p>A rather proper LINQ implementation in Go is<p><a href="http://www.oki-osk.jp/esc/golang/linq3/linq.go.html" rel="nofollow">http://www.oki-osk.jp/esc/golang/linq3/linq.go.html</a>
<a href="http://www.oki-osk.jp/esc/golang/linq3/linq_test.go.html" rel="nofollow">http://www.oki-osk.jp/esc/golang/linq3/linq_test.go.html</a><p>and its design and implementation are explained in<p><a href="http://www.oki-osk.jp/esc/golang/linq3.html" rel="nofollow">http://www.oki-osk.jp/esc/golang/linq3.html</a>
I've read many compliments about LINQ and how it was something fundamentally more powerfull than just a sql wrapper ( i think i remembered the dreaded word "monad", but i'm not suree), but i haven't found any detailled analysis of the theory behind that technology.<p>Anyone got a link to something like that ?
Didn't explore both in depth, but at first glance I prefer the GO underscore approach: <a href="https://github.com/tobyhede/go-underscore" rel="nofollow">https://github.com/tobyhede/go-underscore</a>
I love everything linq. I love how I can be more expressive and do more with less. I'm assuming you've had exposure to C# otherwise you wouldn't have ported the main functionality over to Go. What are your thoughts - I know that Go has its special use cases but do you find that the more "verbose" nature of their lamdas junk up your code? Is the extra verbosity offset by Go's other redeeming qualities?