Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
last
is O(n) anyway, so whether that's inreverse
or in something else doesn't really matter.(If I'm wrong, please call me on it.)
other than spacing, this is what I did!
The entire list is not reversed due to laziness. Unfortunately, I cannot assess to what extent the optimizer discards the overhead...
How is this a best practice?
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
Very nicely done!
That's almost certainly true... although I've met Category theorists who've mixed up R○S and S○R in the category of relations.
The tradition in Clojure is to use the thrush macro:
It's pretty easy, think Unix pipes
As far as I can tell, Haskell is the only programming language where
($)
is used more widely than its conceptual reverse...Maybe it comes down to whether you prefer right or left associativity? I am a beginner myself but I have seen (.) used far more widely, probably because it's similar to math that way. However I think (>>=) is also more used than (=<<) and tbh I find this mix up confusing.
So... I'm admittedly more of a Clojure programmer at heart than a Haskell programmer, but I think
(>>>)
fromControl.Arrow
is a bit more readable than the little C combinator(.)
fromPrelude
...