Skip to content

Instantly share code, notes, and snippets.

@DimaD
Forked from ifesdjeen/Haskell vs Clojure Order.clj
Last active August 29, 2015 14:05
Show Gist options
  • Save DimaD/cfcf7ebdcb3f350f7aac to your computer and use it in GitHub Desktop.
Save DimaD/cfcf7ebdcb3f350f7aac to your computer and use it in GitHub Desktop.
;; "Normal" operation order
(->> [1 2 3]
(map inc)
(map #(* 2 %)
(reduce +))
t :: [Integer] -> Integer
-- "Reverse" operation order
t x = foldr1 (+) $ map (*2) $ map (+1) x
t :: [Integer] -> Integer
-- "Reverse" operation order
t x = foldr1 (+) $ map (*2) $ map (+1) x
-- Let's define forward-chaining operator
($>) = flip ($)
t2 :: [Integer] -> Integer
t2 x = x $> map (+1) $> map (*2) $> foldr1 (+)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment