diff --git a/README.md b/README.md
index 4998234..aeb5ee3 100644
--- a/README.md
+++ b/README.md
@@ -156,7 +156,7 @@ add('X');
// The value at position 1 is not a member of ‘Number’.
```
-
+
The special placeholder value.
@@ -182,41 +182,41 @@ Conceptually, a type is a set of values. One can think of a value of
type `Type` as a function of type `Any -> Boolean` which tests values
for membership in the set (though this is an oversimplification).
-
+
Type comprising every JavaScript value.
-
+
Type comprising every Function value.
-
+
Type comprising every [`arguments`][arguments] object.
-
+
Constructor for homogeneous Array types.
-
+
Type comprising `true` and `false`.
-
+
Type comprising every Date value.
-
+
Type comprising every Error value, including values of more specific
constructors such as [`SyntaxError`][] and [`TypeError`][].
-
+
Type comprising every [`ValidNumber`][] value except `Infinity` and
`-Infinity`.
-
+
Constructor for Function types.
@@ -226,72 +226,72 @@ Examples:
type; and
- `$.Function([a, b, a])` represents the `(a, b) -> a` type.
-
+
Type comprising every [`RegExp`][] value whose `global` flag is `true`.
See also [`NonGlobalRegExp`][].
-
+
Type comprising every integer in the range
[[`Number.MIN_SAFE_INTEGER`][min] .. [`Number.MAX_SAFE_INTEGER`][max]].
-
+
Type comprising every [`FiniteNumber`][] value less than zero.
-
+
Type comprising every [`Integer`][] value less than zero.
-
+
Type comprising every [`Number`][] value less than zero.
-
+
Constructor for non-empty types. `$.NonEmpty($.String)`, for example, is
the type comprising every [`String`][] value except `''`.
The given type must satisfy the [Monoid][] and [Setoid][] specifications.
-
+
Type comprising every [`RegExp`][] value whose `global` flag is `false`.
See also [`GlobalRegExp`][].
-
+
Type comprising every non-negative [`Integer`][] value (including `-0`).
Also known as the set of natural numbers under ISO 80000-2:2009.
-
+
Type comprising every [`FiniteNumber`][] value except `0` and `-0`.
-
+
Type comprising every [`Integer`][] value except `0` and `-0`.
-
+
Type comprising every [`ValidNumber`][] value except `0` and `-0`.
-
+
Type whose sole member is `null`.
-
+
Constructor for types which include `null` as a member.
-
+
Type comprising every primitive Number value (including `NaN`).
-
+
Type comprising every "plain" Object value. Specifically, values
created via:
@@ -301,28 +301,28 @@ created via:
- the `new` operator in conjunction with `Object` or a custom
constructor function.
-
+
Constructor for tuple types of length 2. Arrays are said to represent
tuples. `['foo', 42]` is a member of `Pair String Number`.
-
+
Type comprising every [`FiniteNumber`][] value greater than zero.
-
+
Type comprising every [`Integer`][] value greater than zero.
-
+
Type comprising every [`Number`][] value greater than zero.
-
+
Type comprising every RegExp value.
-
+
Type comprising the canonical RegExp flags:
@@ -335,34 +335,34 @@ Type comprising the canonical RegExp flags:
- `'im'`
- `'gim'`
-
+
Constructor for homogeneous Object types.
`{foo: 1, bar: 2, baz: 3}`, for example, is a member of `StrMap Number`;
`{foo: 1, bar: 2, baz: 'XXX'}` is not.
-
+
Type comprising every primitive String value.
-
+
Type comprising every Symbol value.
-
+
Type comprising every `Type` value.
-
+
Type comprising every [`TypeClass`][] value.
-
+
Type whose sole member is `undefined`.
-
+
Type used to represent missing type information. The type of `[]`,
for example, is `Array ???`.
@@ -379,34 +379,34 @@ to include an infinite number of types in an environment:
- `List (List (List String))`
- `...`
-
+
Type comprising every [`Date`][] value except `new Date(NaN)`.
-
+
Type comprising every [`Number`][] value except `NaN`.
-
+
An array of [types][]:
- - AnyFunction
- - Arguments
- - Array(Unknown)
- - Boolean
- - Date
- - Error
- - Null
- - Number
- - Object
- - RegExp
- - StrMap(Unknown)
- - String
- - Symbol
- - Undefined
-
-
+ - [AnyFunction](#AnyFunction)
+ - [Arguments](#Arguments)
+ - [Array](#Array)([Unknown](#Unknown))
+ - [Boolean](#Boolean)
+ - [Date](#Date)
+ - [Error](#Error)
+ - [Null](#Null)
+ - [Number](#Number)
+ - [Object](#Object)
+ - [RegExp](#RegExp)
+ - [StrMap](#StrMap)([Unknown](#Unknown))
+ - [String](#String)
+ - [Symbol](#Symbol)
+ - [Undefined](#Undefined)
+
+
Takes an environment, a type, and any value. Returns `true` if the value
is a member of the type; `false` otherwise.
@@ -433,7 +433,7 @@ and validate the bodies of incoming POST requests against these types.
sanctuary-def provides several functions for defining types.
-
+
Type constructor for types with no type variables (such as [`Number`][]).
@@ -496,7 +496,7 @@ rem(42, 0);
// The value at position 1 is not a member of ‘NonZeroInteger’.
```
-
+
Type constructor for types with one type variable (such as [`Array`][]).
@@ -575,7 +575,7 @@ fromMaybe(0, Just('XXX'));
// Since there is no type of which all the above values are members, the type-variable constraint has been violated.
```
-
+
Type constructor for types with two type variables (such as [`Pair`][]).
@@ -666,7 +666,7 @@ showCard(Pair('X', '♠'));
// The value at position 1 is not a member of ‘Rank’.
```
-
+
Type constructor for [enumerated types][] (such as [`RegexFlags`][]).
@@ -689,7 +689,7 @@ const Denomination = $.EnumType(
);
```
-
+
`RecordType` is used to construct record types. The type definition
specifies the name and type of each required field.
@@ -739,7 +739,7 @@ dist(0);
// The value at position 1 is not a member of ‘{ x :: FiniteNumber, y :: FiniteNumber }’.
```
-
+
Polymorphism is powerful. Not being able to define a function for
all types would be very limiting indeed: one couldn't even define the
@@ -793,7 +793,7 @@ cmp(0, '1');
// Since there is no type of which all the above values are members, the type-variable constraint has been violated.
```
-
+
Combines [`UnaryType`][] and [`TypeVariable`][].
@@ -840,7 +840,7 @@ example, is `v`. One could replace `Functor => f` with `Map k` or with
This shallow inspection makes it possible to constrain a value's "outer"
and "inner" types independently.
-
+
Combines [`BinaryType`][] and [`TypeVariable`][].
@@ -855,12 +855,12 @@ To define a binary type variable `t a b` one must provide:
The more detailed explanation of [`UnaryTypeVariable`][] also applies to
`BinaryTypeVariable`.
-
+
`$.Thunk(T)` is shorthand for `$.Function([T])`, the type comprising
every nullary function (thunk) which returns a value of type `T`.
-
+
`$.Predicate(T)` is shorthand for `$.Function([T, $.Boolean])`, the type
comprising every predicate function which takes a value of type `T`.
diff --git a/index.js b/index.js
index 1625925..45deda0 100644
--- a/index.js
+++ b/index.js
@@ -419,7 +419,7 @@
// functionUrl :: String -> String
function functionUrl(name) {
- var version = '0.13.1'; // updated programmatically
+ var version = '0.14.0'; // updated programmatically
return 'https://github.com/sanctuary-js/sanctuary-def/tree/v' + version +
'#' + stripNamespace(name);
}
diff --git a/package.json b/package.json
index 7be6fc9..e9ff1ce 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sanctuary-def",
- "version": "0.13.1",
+ "version": "0.14.0",
"description": "Run-time type system for JavaScript",
"license": "MIT",
"repository": {
diff --git a/test/index.js b/test/index.js
index befb7c8..68fe165 100644
--- a/test/index.js
+++ b/test/index.js
@@ -37,7 +37,7 @@ function throws(f, type, message) {
}
// version :: String
-var version = '0.13.1'; // updated programmatically
+var version = '0.14.0'; // updated programmatically
var def = $.create({checkTypes: true, env: $.env});