Skip to content

Instantly share code, notes, and snippets.

@krasserm
Created November 18, 2010 19:58
Show Gist options
  • Save krasserm/705508 to your computer and use it in GitHub Desktop.
Save krasserm/705508 to your computer and use it in GitHub Desktop.
// Applicative functors (Haskell - Scalaz comparison)
val mult = (_:Int) * (_:Int)
val multc = mult.curried
// (*) <$> Just 3 <*> Just 5
some(5) <*> some(3) ∘ multc
// pure (*) <*> Just 3 <*> Just 5
some(5) <*> (some(3) <*> multc.pure[Option])
// ... alternatives
some(3) ⊛ some(5) apply mult
(some(3) |@| some(5)) {_ * _}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment