purescript-0.13.0: tests/purs/publish/basic-example/output/Data.Enum/docs.json
{"reExports":[],"name":"Data.Enum","comments":null,"declarations":[{"children":[{"comments":null,"title":"succ","info":{"declType":"typeClassMember","type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[51,3],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[51,23]}},{"comments":null,"title":"pred","info":{"declType":"typeClassMember","type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[52,3],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[52,23]}},{"comments":null,"title":"enumBoolean","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Boolean"]}]}},"sourceSpan":{"start":[54,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[58,18]}},{"comments":null,"title":"enumInt","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}},"sourceSpan":{"start":[60,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[62,56]}},{"comments":null,"title":"enumChar","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Char"]}]}},"sourceSpan":{"start":[64,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[66,43]}},{"comments":null,"title":"enumUnit","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Unit"],"Unit"]}]}},"sourceSpan":{"start":[68,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[70,23]}},{"comments":null,"title":"enumOrdering","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Ordering"],"Ordering"]}]}},"sourceSpan":{"start":[72,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[78,20]}},{"comments":null,"title":"enumMaybe","info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null}],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[80,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[84,32]}},{"comments":null,"title":"enumEither","info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"b"}],"constraintData":null}],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Either"],"Either"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeVar","contents":"b"}]}]}},"sourceSpan":{"start":[86,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[90,69]}},{"comments":null,"title":"enumTuple","info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"b"}],"constraintData":null}],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Enum"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Tuple"],"Tuple"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeVar","contents":"b"}]}]}},"sourceSpan":{"start":[92,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[94,83]}}],"comments":"Type class for enumerations.\n\nLaws:\n- Successor: `all (a < _) (succ a)`\n- Predecessor: `all (_ < a) (pred a)`\n- Succ retracts pred: `pred >=> succ >=> pred = pred`\n- Pred retracts succ: `succ >=> pred >=> succ = succ`\n- Non-skipping succ: `b <= a || any (_ <= b) (succ a)`\n- Non-skipping pred: `a <= b || any (b <= _) (pred a)`\n\nThe retraction laws can intuitively be understood as saying that `succ` is\nthe opposite of `pred`; if you apply `succ` and then `pred` to something,\nyou should end up with what you started with (although of course this\ndoesn't apply if you tried to `succ` the last value in an enumeration and\ntherefore got `Nothing` out).\n\nThe non-skipping laws can intuitively be understood as saying that `succ`\nshouldn't skip over any elements of your type. For example, _without_ the\nnon-skipping laws, it would be permissible to write an `Enum Int` instance\nwhere `succ x = Just (x+2)`, and similarly `pred x = Just (x-2)`.\n","title":"Enum","info":{"fundeps":[],"arguments":[["a",null]],"declType":"typeClass","superclasses":[{"constraintAnn":[],"constraintClass":[["Data","Ord"],"Ord"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null}]},"sourceSpan":{"start":[50,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[52,23]}},{"children":[{"comments":null,"title":"cardinality","info":{"declType":"typeClassMember","type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}},"sourceSpan":{"start":[114,3],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[114,31]}},{"comments":null,"title":"toEnum","info":{"declType":"typeClassMember","type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[115,3],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[115,27]}},{"comments":null,"title":"fromEnum","info":{"declType":"typeClassMember","type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}},"sourceSpan":{"start":[116,3],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[116,23]}},{"comments":null,"title":"boundedEnumBoolean","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"BoundedEnum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Boolean"]}]}},"sourceSpan":{"start":[118,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[124,20]}},{"comments":null,"title":"boundedEnumChar","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"BoundedEnum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Char"]}]}},"sourceSpan":{"start":[126,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[129,24]}},{"comments":null,"title":"boundedEnumUnit","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"BoundedEnum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Unit"],"Unit"]}]}},"sourceSpan":{"start":[131,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[135,21]}},{"comments":null,"title":"boundedEnumOrdering","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"BoundedEnum"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Ordering"],"Ordering"]}]}},"sourceSpan":{"start":[137,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[145,18]}}],"comments":"Type class for finite enumerations.\n\nThis should not be considered a part of a numeric hierarchy, as in Haskell.\nRather, this is a type class for small, ordered sum types with\nstatically-determined cardinality and the ability to easily compute\nsuccessor and predecessor elements like `DayOfWeek`.\n\nLaws:\n\n- ```succ bottom >>= succ >>= succ ... succ [cardinality - 1 times] == top```\n- ```pred top >>= pred >>= pred ... pred [cardinality - 1 times] == bottom```\n- ```forall a > bottom: pred a >>= succ == Just a```\n- ```forall a < top: succ a >>= pred == Just a```\n- ```forall a > bottom: fromEnum <$> pred a = pred (fromEnum a)```\n- ```forall a < top: fromEnum <$> succ a = succ (fromEnum a)```\n- ```e1 `compare` e2 == fromEnum e1 `compare` fromEnum e2```\n- ```toEnum (fromEnum a) = Just a```\n","title":"BoundedEnum","info":{"fundeps":[],"arguments":[["a",null]],"declType":"typeClass","superclasses":[{"constraintAnn":[],"constraintClass":[["Data","Bounded"],"Bounded"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null}]},"sourceSpan":{"start":[113,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[116,23]}},{"children":[],"comments":"Like `toEnum` but returns the first argument if `x` is less than\n`fromEnum bottom` and the second argument if `x` is greater than\n`fromEnum top`.\n\n``` purescript\ntoEnumWithDefaults False True (-1) -- False\ntoEnumWithDefaults False True 0 -- False\ntoEnumWithDefaults False True 1 -- True\ntoEnumWithDefaults False True 2 -- True\n```\n","title":"toEnumWithDefaults","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]}},"sourceSpan":{"start":[157,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[157,68]}},{"children":[{"comments":null,"title":"Cardinality","info":{"arguments":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"declType":"dataConstructor"},"sourceSpan":null},{"comments":null,"title":"newtypeCardinality","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Newtype"],"Newtype"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]},{"annotation":[],"tag":"TypeWildcard","contents":null}]}},"sourceSpan":{"start":[165,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[165,64]}},{"comments":null,"title":"eqCardinality","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Eq"],"Eq"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[166,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[166,60]}},{"comments":null,"title":"ordCardinality","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Ord"],"Ord"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[167,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[167,62]}},{"comments":null,"title":"showCardinality","info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Show"],"Show"]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}},"sourceSpan":{"start":[169,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[170,58]}}],"comments":"A type for the size of finite enumerations.\n","title":"Cardinality","info":{"declType":"data","dataDeclType":"newtype","typeArguments":[["a",null]]},"sourceSpan":{"start":[163,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[163,40]}},{"children":[],"comments":"Returns a contiguous sequence of elements from the first value to the\nsecond value (inclusive).\n\n``` purescript\nenumFromTo 0 3 = [0, 1, 2, 3]\nenumFromTo 'c' 'a' = ['c', 'b', 'a']\n```\n\nThe example shows `Array` return values, but the result can be any type\nwith an `Unfoldable1` instance.\n","title":"enumFromTo","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["u",{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable1"],"Unfoldable1"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"u"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"u"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]}]},null]},null]}},"sourceSpan":{"start":[182,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[182,67]}},{"children":[],"comments":"Returns a sequence of elements from the first value, taking steps\naccording to the difference between the first and second value, up to\n(but not exceeding) the third value.\n\n``` purescript\nenumFromThenTo 0 2 6 = [0, 2, 4, 6]\nenumFromThenTo 0 3 5 = [0, 3]\n```\n\nNote that there is no `BoundedEnum` instance for integers, they're just\nbeing used here for illustrative purposes to help clarify the behaviour.\n\nThe example shows `Array` return values, but the result can be any type\nwith an `Unfoldable1` instance.\n","title":"enumFromThenTo","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ForAll","contents":["f",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable"],"Unfoldable"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"f"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Functor"],"Functor"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"f"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"BoundedEnum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"f"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]}]}]}]},null]},null]}},"sourceSpan":{"start":[205,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[205,95]}},{"children":[],"comments":"Produces all successors of an `Enum` value, excluding the start value.\n","title":"upFrom","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["u",{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable"],"Unfoldable"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"u"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"u"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]},null]}},"sourceSpan":{"start":[219,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[219,57]}},{"children":[],"comments":"Produces all successors of an `Enum` value, including the start value.\n\n`upFromIncluding bottom` will return all values in an `Enum`.\n","title":"upFromIncluding","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["u",{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable1"],"Unfoldable1"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"u"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"u"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]},null]}},"sourceSpan":{"start":[225,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[225,62]}},{"children":[],"comments":"Produces all predecessors of an `Enum` value, excluding the start value.\n","title":"downFrom","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["u",{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable"],"Unfoldable"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"u"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"u"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]},null]}},"sourceSpan":{"start":[229,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[229,59]}},{"children":[],"comments":"Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n","title":"downFromIncluding","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["u",{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Unfoldable1"],"Unfoldable1"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"u"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeVar","contents":"u"},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]},null]}},"sourceSpan":{"start":[236,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[236,69]}},{"children":[],"comments":"Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n","title":"defaultSucc","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"ParensInType","contents":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"ParensInType","contents":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]}},"sourceSpan":{"start":[250,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[250,72]}},{"children":[],"comments":"Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n","title":"defaultPred","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"ParensInType","contents":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"ParensInType","contents":{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]}},"sourceSpan":{"start":[264,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[264,72]}},{"children":[],"comments":"Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n","title":"defaultCardinality","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Bounded"],"Bounded"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Enum"],"Cardinality"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]},null]}},"sourceSpan":{"start":[270,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[270,69]}},{"children":[],"comments":"Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n","title":"defaultToEnum","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Bounded"],"Bounded"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Data","Maybe"],"Maybe"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]}]}]}]},null]}},"sourceSpan":{"start":[283,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[283,65]}},{"children":[],"comments":"Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n","title":"defaultFromEnum","info":{"declType":"value","type":{"annotation":[],"tag":"ForAll","contents":["a",{"annotation":[],"tag":"ConstrainedType","contents":[{"constraintAnn":[],"constraintClass":[["Data","Enum"],"Enum"],"constraintArgs":[{"annotation":[],"tag":"TypeVar","contents":"a"}],"constraintData":null},{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeApp","contents":[{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"annotation":[],"tag":"TypeVar","contents":"a"}]},{"annotation":[],"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}]},null]}},"sourceSpan":{"start":[303,1],"name":"../../../support/bower_components/purescript-enums/src/Data/Enum.purs","end":[303,48]}}]}