You do not need to be good at haskell to consider this idiomatic.
In my mind this is more about understanding how folds work and not writing their definitions for each individual case.
Similar thing is using map instead of defining your function to iterate over lists in a way that map does it. (I mean writing f = map g instead of f [] = [] and f (x:xs) = g x : f xs)
You get used to it after a while :)
I wouldn't mix idiomatic with something that was used as an implementation standard. The fact that it's short and does the job does not mean it is readable when making a quick code review. I suppose I'll refrain from taking a strong stance untill I'm actually good at haskell
How does this work?
This language's some operators are not even predictable by just looking at them :p
This comment is hidden because it contains spoiler information about the solution
This comment is hidden because it contains spoiler information about the solution
This comment is hidden because it contains spoiler information about the solution
You do not need to be good at haskell to consider this idiomatic.
In my mind this is more about understanding how folds work and not writing their definitions for each individual case.
Similar thing is using map instead of defining your function to iterate over lists in a way that map does it. (I mean writing f = map g instead of f [] = [] and f (x:xs) = g x : f xs)
You get used to it after a while :)
I wouldn't mix idiomatic with something that was used as an implementation standard. The fact that it's short and does the job does not mean it is readable when making a quick code review. I suppose I'll refrain from taking a strong stance untill I'm actually good at haskell
This comment is hidden because it contains spoiler information about the solution
Isn't this more code golf than best practice?
I'm new so it might be it but it doesn't seem too obvious whats happening