title: I can't understand Wikipedia's definition of "applicative functor"
body: <p>Studying functors, applicative functors and monads in Haskell, I found this definition on <a href="https://en.wikipedia.org/wiki/Applicative_functor" rel="nofollow noreferrer">Wikipedia</a>:</p>
  
  <blockquote>
    <p>In functional programming, specifically Haskell, an <strong>applicative
    functor</strong> is a structure that is like a <strong>monad</strong> (<code>return</code>, <code>fmap</code>, <code>join</code>)
    without <code>join</code>, or like a <strong>functor</strong> with <code>return</code>.</p>
  </blockquote>
  
  <p>I can't understand: it seems to me that providing <code>return</code> (i.e. <code>pure</code>) to a functor is not sufficient to obtain an applicative functor, because you need to provide <code>ap</code> (i.e. <code>&lt;*&gt;</code>) too, which cannot be defined in terms of <code>fmap</code> and <code>return</code> only. Did I miss something or Wikipedia's definition is not absolutely correct?</p>
  
  <p>EDIT 2017-02-08: I found other useful insights on this question in <a href="https://stackoverflow.com/questions/41400846/applicative-functors-as-monoidal-functors">this</a> answer.</p>