- January 31st, 2017:

You have d = "3.461497957769017000D+07"

define parseDouble :: String -> Double

(n.b.: (read d) :: Double throws an error) - bazzargh @bazzargh uncurry (*) (bimap read ((10^).read.(dropWhile(`elem`"0+D"))) (break (=='D') d))::Double
- January 31st, 2017: Given

e :: FilePath -> [String] -> [Epoch]

readEpochs :: FilePath -> IO [Epoch]

readEpochs f = e f . lines <$> readFile f

point-free-itize readEpochs - Astynax Pirogov @alex_pir uncurry fmap . (((. lines) . e) &&& readFile
- January 30th, 2017: Given

parseNum :: String -> Maybe (Float, String)

define: dropNum'' :: String -> Maybe String

points-free in terms of parseNum - matt @themattchan dropNum" = fmap snd . parseNum
- January 30th, 2017: For

parseHeader :: String -> Maybe String

parseHeader str = match "Start " str <|> match "Finish " str

eliminate redundancies - mconcat . ([match] <*> ["Start ", "Finish "] <*>) . pure
- Nickolay Kudasov @crazy_fizruk If you're allowed to use Monoid instead of Alternative, how about this version?

foldMap match ["Start", "Finish"] - Andreas Källberg @Anka213 My solution was

parseHeader str = foldr1 (<|>) . map (`match` str) $ ["Start", "Finish"]

But that's longer than the original. - January 25th, 2017:

given f is type: f :: Int -> a -> Bool

for: g :: a -> Bool

g = (||) . f 2 <*> f 27

rewrite g using f only once in the definition - Denis Stoyanov @xgrommx ugly version but

(liftA2 . liftA2) (||) ($2) ($27) f - January 19th, 2017:

import Data.Tree.Merkle

mkleaf :: Show a => a -> Leaf a

mkleaf = uncurry Leaf . (show . hashDatum &&& id)

redefine using (<*>) - Denis Stoyanov @xgrommx smth like

mkleaf = uncurry Leaf . show . (hashDatum <$> (,) <*> id)

mkleaf = uncurry Leaf . show . (liftA2 (,) hashDatum id) - January 19th, 2017:

mkbranch1 :: Leaf a -> Branch a

mkbranch1 = uncurry Twig . (uncurry childrenHash . (dataHash &&& dataHash) &&& id)

redefine using (<*>)s(?)

## Monday, March 13, 2017

### January 2017 1HaskellADay 1Liners

Subscribe to:
Post Comments (Atom)

## 1 comment:

All of these tips are great, that’s very interesting. I’m so tempted to try that myself, but you would think if it were effective, more people would do it.

Best Interior Designers in Chennai

Interior Designers in Chennai

Post a Comment