## Thursday, April 7, 2016

One-liners
• March 29th, 2016: You have a list, Show a => [a], of known-length n, n > 100 Show the first three and the last three elements of that list
• March 28th, 2016: You have f :: c -> d and g :: a -> b -> c
define (<<-) such that f <<- g is f (g a b)
Does it exist already (in the Prelude, maybe)?
• March 26th, 2016: insert1 :: Ord k => k -> a -> Map k [a] -> Map k [a] define, points-free, efficiently. (hint: it's not insertWith)
• March 26th, 2016: sqDist :: Fractional ä => [ä] -> [ä] -> ä sqDist v1 v2 = sum (zipWith (\a b -> (a - b) ^2) v1 v2) Point-free-itize sqDist (and λ)
• March 17th, 2016: for f :: (a -> b) -> (a, a) -> (b, b) define f
• March 17th, 2016: removeAll :: Eq a => a -> [a] -> [a]; define
e.g.: removeAll '"' "(\"S312\", \"S204\")" ~> "(S312, S204)"
• Gautier DI FOLCO @gautier_difolco ... same
• March 17th, 2016:
f, g :: (String, String) -> String
let ab = ("a", "b")
f ab ~> "(\"a\", b)"
g ab ~> "(a, \"b\")"
define h that generalizes f and g
• Gautier DI FOLCO @gautier_difolco
cp x y (a,b) = concat ["(", x a, ",", y b, ")"]
f,g :: (String, String) -> String
g = cp id show
f = cp show id