Par Thomas Bracher
pure :: 🍎 → Array 🍎
bake :: 🍎 → 🥧
bakes :: Array 🍎 → Array 🥧
map :: (🍎 → 🥧) → (Array 🍎 → Array 🥧)
join :: Array (Array 🍎) → Array 🍎
bake :: 🍎 → 🥧
harvest :: 🌳 → Array 🍎
Comment obtenir harvestAndBake :: 🌳 → Array 🥧 ?
Et harvestAndBakeField :: Array 🌳 → Array 🥧 ?
bake :: 🍎 → 🥧
harvest :: 🌳 → Array 🍎
harvestAndBake :: 🌳 → Array 🥧
harvestAndBake tree = map bake (harvest tree)
harvestAndBakeField :: Array 🌳 → Array 🥧
harvestAndBakeField trees = join (map harvestAndBake trees)
() → 🍎
pure :: 🍎 → (() → 🍎)
map :: (🍎 → 🥧) → ((() → 🍎) → (() → 🥧)) ?
appleProvider :: () → 🍎
bake :: 🍎 → 🥧
pure :: 🥧 → (() → 🥧)
join :: (() → (() → 🍎)) → (() → 🍎)
() → 🍎 == Effect 🍎
join :: Effect (Effect 🍎) → Effect 🍎
bake :: 🍎 → 🥧
harvest :: 🌳 → Effect 🍎
harvestAndBake :: 🌳 → Effect 🥧
harvestAndBake tree = map bake (harvest tree)
harvestAndBakeField :: Effect 🌳 → Effect 🥧
harvestAndBakeField trees = join (map harvestAndBake trees)