6 ms·
I'd like to use map/fold/filter idioms instead of for loops, because this encourages me to write reusable functions instead of embedded blocks of code. To do t
by catenate 13y ago
I'd like to use map/fold/filter idioms instead of for loops, because this encourages me to write reusable functions instead of embedded blocks of code. To do this in Go, I need to write type-specific functions for every combination of passed function, source collection, and return-collection type. The alternatives I see in Go are to lose type checking or to fumble around with introspection and casts.
- jbooth 13y agoThat sounds like it's actually a complaint about strong typing -- if everything's the same type, you can do that now by passing around first class functions.
- pcwalton 13y agoReread the comment. It's a complaint about the lack of generics.
- catenate 13y agoAka polymorphic function parameters. If I manage to abstract a bit of functionality into a function, I don't care what the type is as long as the operations within the function work on it. Haskell uses typeclasses to provide this guarantee for specific types. Go seems to try to do something like this with interfaces, but it doesn't seem to apply to the map/fold/filter style of programming
- tmhedberg 13y agoThere are plenty of strongly, statically typed languages which do not have this problem because they have parametric polymorphism, i.e. generics.