## Thursday, May 5, 2016

• April 15th, 2016:
(\(intensf, list) -> map (second intensf) list) (insensifierFn, assocList)
Point-free-itize this lambda
• April 15th, 2016:
foldr (\card -> let c = color card in mappend c *** ((idx card, c):))
(mempty, []) cards
Point-free-itize and de-let lambda
• Gautier DI FOLCO @gautier_difolco foldr (uncurry (***) . (uncurry fmap . fmap (((,) =<< mappend) . color) . ((,) =<< ((:) .) . (,) . idx))) (mempty, []) cards
• me: foldr (uncurry (***) . (mappend . snd &&& (:)) . (idx &&& color)) (mempty, [])
• April 15th, 2016: map (\(idx, color) -> C idx (cell bb idx) color) assoclist
point-free-itize the lambda in the map function.
• Eyal Lotem @EyalL uncurry (C <*> cell bb) ?
Not in front of a type checker, can't check myself :)
• April 13th, 2016:
point-free-itize lambda term in:
uncurry (foldr (\a -> min a *** max a)) . ((head &&& head) &&& id)
• April 12th, 2016:
minmax :: Ord a => [a] -> (a, a)
minmax [1..9] = (1,9)
in linear time.
minmax = minimum &&& maximum
fails as it's 2x too slow.
• April 12th, 2016:
You have (a,b) (c,d)
You need (a*c, b*d)

Well, we don't have all day! (Actually, we do) Get to it!
Pointless; I MEAN POINT-FREE pls
• lotz@Haskell㌠ @lotz84_ ((uncurry . flip . curry \$ id).) . ((uncurry.) . uncurry . (flip.) . flip . flip) ((((flip . (flip.)) \$ ((,).) . (*)).) . (*))
• Olivier Iffrig @oiffrig Point-free but star-full: uncurry (***) . ((*) *** (*))
• bazzargh @bazzargh curry((uncurry (*)) *** (uncurry (*)))
• bazzargh @bazzargh knew there had to be a bimap answer, eventually got: curry ((bimap <\$> id <*> id) (uncurry (*)))
• Андреев Кирилл @nonaem00 (((product *** product) . unzip) .) . (flip (:)) . (:[]) ... I clearly need more coffee this morning.
• April 10th, 2016:

data BBx = Bx (Int, Int) Pt2D Pt2D

define:
mkBB :: [a] -> Pt2D -> BBx
mkBB xs extents = Bx (0, length xs) (0,0) extents
points-free
• Gautier DI FOLCO @gautier_difolco
-- LANGUAGE TupleSections
data BBx = Bx (Int, Int) Pt2D Pt2D
mkBB :: [a] -> Pt2D -> BBx
mkBB = flip Bx (0,0) . (0, ) . length
• Thomas D @tthomasdd mkBB = flip Bx (0,0) . (,) 0 . length
• April 7th, 2016:
type MList a n = [(a, n)]
partSz :: Ord n => n -> MList a n -> (MList a n, MList a n)
partSz µ = partition ((µ >) . snd)
Define points-free
• partSz = partition . (. snd) . (>)  -- via @gautier_difolco