a(name='intro')
.jumbotron
  h1 predicate.js
    small v. 1.0.0
  h5 Adding clarity and conciseness to your JS through predicates

  br
  :markdown
    [predicate](https://github.com/landau/predicate) provides a slew of functions that allow
    you to compare values and test types. This leads to more functional, concise,
    legible, and correct code.

    This is extremely useful when filtering data or comparing against a set of data.
    ```js
      ['venus', 'neptune', 1, []].filter(predicate.str); // ['venus', 'neptune']
      [1.2, 3, 5].every(predicate.int) // false
    ```

    is also offers autocurrying for predicates of arity 2
    ```js
    var isInSet = predicate.contains([1, 2, 3]);
    isInSet(1); // true
    isInSet(5); // false

    var hasKey = predicate.has({ name: 'Trevor', twitter: '@trevor_landau' });
    hasKey('name'); // true
    hasKey('myspace'); // false
    ```

    Make room on your utility belt next to [underscore](http://underscorejs.org)

    ```js
      _.filter([1, 2, 3], predicate.less(1)); // [2, 3]
      _.partition([1, -2, -3, 4], predicate.pos); // [[1, 4], [-2, -3]]
    ```

    The project is [hosted on GitHub](https://github.com/landau/predicate).
    You can report bugs and discuss features on the [issues page](https://github.com/landau/predicate/issues)
    or send tweets to [@trevor_landau](https://twitter.com/trevor_landau).

  br
  h5 Install/Downloads
  p Node&nbsp;
    a(href='https://www.npmjs.org/package/predicate') npm install --save is-predicate
  p Development&nbsp;
    a(href='https://raw.githubusercontent.com/landau/predicate/master/dist/predicate.js') predicate.js
  p Production&nbsp;
    a(href='https://raw.githubusercontent.com/landau/predicate/master/dist/predicate.min.js') predicate.min.js
