Re:Reducers, transducers and core.async in Clojure
by flavio81 on Wednesday June 07, 2017 @12:10PM
(#14507532)
Yes but lambda allows some versatility, for example (excuse my Python, it is a bit rusty):
Using "def"s there would kill readability and easiness of coding.
[ Parent
| on HN ]
Re:Reducers, transducers and core.async in Clojure
by tobik on Wednesday June 07, 2017 @12:29PM
(#14507723)
Bad example :)
Most simple uses of lambda like this can be substituted with functions from the operator module:
import operator
formulas = {
'sum': operator.add,
'subst': operator.sub,
'mult': operator.mul,
'pow': operator.pow
}
Re:Reducers, transducers and core.async in Clojure
by flavio81 on Wednesday June 07, 2017 @02:43PM
(#14508829)
I thank you for this example. If the operator definitions are not trivial and you want to keep them well mantained, then your example is very good.
However, what I meant was that for fast, quick coding, if your 'operator' function is really simple, then lambda fints perfectlu.
I know the Zen of Python says: "There should be one—and preferably only one—obvious way to do it", but i don't align to that principle. I think there should be more than one way to do something, and one should choose one that fits the best.