4 ms·
Minor nitpick: the first real line of code alphabet = "abcdefghijklmnopqrstuvwxyz" is better written as alphabet = ['a'..'z'] This is really syntactic s
by tromp 12y ago
Minor nitpick: the first real line of code
alphabet = "abcdefghijklmnopqrstuvwxyz"
is better written as
alphabet = ['a'..'z']
This is really syntactic sugar for
enumFromTo 'a' 'z'
using the function
enumFromTo :: Enum a => a -> a -> [a]
from the typeclass Enum for enumerable types,
and the fact that a string (type String) is just
a list of characters (type [Char]).
- evincarofautumn 12y agoAs long as we’re picking nits… > I wrote this code putting brevity over readability Overall, this is not particularly terse, for Haskell code. With all the lambdas, it looks like OCaml! For example, these are equivalent, and I find the latter clearer: (sortBy (\(_,c1)(_,c2) -> c2 `compare` c1)) sortBy (flip (comparing snd)) Now, it’s not necessarily a bad thing to be explicit, but in cases such as these, it’s less repetitious to just use the standard library functions.
- quchen 12y agoFor reverse sorting, there's a type that does specifically that. sortBy (comparing (Down . snd)) See http://hackage.haskell.org/package/base-4.7.0.1/docs/Data-Ord.html#t:Down http://hackage.haskell.org/package/base-4.7.0.1/docs/Data-Or...
- evincarofautumn 12y agoTrue, but I prefer not to use typeclasses in that way.