###
March 2016 1HaskellADay 1Liners

**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
- obadz @obadzz f = join bimap

- March 17th, 2016: removeAll :: Eq a => a -> [a] -> [a]; define

e.g.: removeAll '"' "(\"S312\", \"S204\")" ~> "(S312, S204)"
- obadz @obadzz removeAll = filter . (/=)
- 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

## No comments:

Post a Comment