{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"sourceSpan":{"end":[32,44],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[32,3]},"title":"map"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Functor"],"Functor"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"r","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[47,16],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[46,1]},"title":"functorFn"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Functor"],"Functor"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Array"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[50,17],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[49,1]},"title":"functorArray"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Functor"],"Functor"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[53,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[52,1]},"title":"functorProxy"}],"comments":"A `Functor` is a type constructor which supports a mapping operation\n`map`.\n\n`map` can be used to turn functions `a -> b` into functions\n`f a -> f b` whose argument and return types use the type constructor `f`\nto represent some computational context.\n\nInstances must satisfy the following laws:\n\n- Identity: `map identity = identity`\n- Composition: `map (f <<< g) = map f <<< map g`\n","info":{"arguments":[["f",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[32,44],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[31,1]},"title":"Functor"},{"children":[],"comments":null,"info":{"alias":[["Data","Functor"],{"Right":{"Left":{"Ident":"map"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[34,20],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[34,1]},"title":"(<$>)"},{"children":[],"comments":"`mapFlipped` is `map` with its arguments reversed. For example:\n\n```purescript\n[1, 2, 3] <#> \\n -> n * n\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"f","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Functor"],"Functor"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[41,64],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[41,1]},"title":"mapFlipped"},{"children":[],"comments":null,"info":{"alias":[["Data","Functor"],{"Right":{"Left":{"Ident":"mapFlipped"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":1}},"kind":null,"sourceSpan":{"end":[44,27],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[44,1]},"title":"(<#>)"},{"children":[],"comments":"The `void` function is used to ignore the type wrapped by a\n[`Functor`](#functor), replacing it with `Unit` and keeping only the type\ninformation provided by the type constructor itself.\n\n`void` is often useful when using `do` notation to change the return type\nof a monadic computation:\n\n```purescript\nmain = forE 1 10 \\n -> void do\n  print n\n  print (n * n)\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"f","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Functor"],"Functor"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[69,47],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[69,1]},"title":"void"},{"children":[],"comments":"Ignore the return value of a computation, using the specified return value\ninstead.\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"f","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Functor"],"Functor"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[74,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[74,1]},"title":"voidRight"},{"children":[],"comments":null,"info":{"alias":[["Data","Functor"],{"Right":{"Left":{"Ident":"voidRight"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[77,25],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[77,1]},"title":"(<$)"},{"children":[],"comments":"A version of `voidRight` with its arguments flipped.\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"f","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Functor"],"Functor"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[80,55],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[80,1]},"title":"voidLeft"},{"children":[],"comments":null,"info":{"alias":[["Data","Functor"],{"Right":{"Left":{"Ident":"voidLeft"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[83,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[83,1]},"title":"($>)"},{"children":[],"comments":"Apply a value in a computational context to a value in no context.\n\nGeneralizes `flip`.\n\n```purescript\nlongEnough :: String -> Bool\nhasSymbol :: String -> Bool\nhasDigit :: String -> Bool\npassword :: String\n\nvalidate :: String -> Array Bool\nvalidate = flap [longEnough, hasSymbol, hasDigit]\n```\n\n```purescript\nflap (-) 3 4 == 1\nthreeve <$> Just 1 <@> 'a' <*> Just true == Just (threeve 1 'a' true)\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"f","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"b","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"f","tag":"TypeVar"}],"constraintClass":[["Data","Functor"],"Functor"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"},"tag":"ParensInType"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":"f","tag":"TypeVar"},{"annotation":[],"contents":"b","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[103,58],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[103,1]},"title":"flap"},{"children":[],"comments":null,"info":{"alias":[["Data","Functor"],{"Right":{"Left":{"Ident":"flap"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":4}},"kind":null,"sourceSpan":{"end":[106,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Functor.purs","start":[106,1]},"title":"(<@>)"}],"name":"Data.Functor","reExports":[]}