{"comments":null,"declarations":[{"children":[{"comments":"Reflect a type `v` to its term-level representation.\n","info":{"declType":"typeClassMember","type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"v","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"t","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[21,30],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[21,3]},"title":"reflectType"}],"comments":"A type-class for reflectable types.\n\nInstances for the following kinds are solved by the compiler:\n* Boolean\n* Int\n* Ordering\n* Symbol\n","info":{"arguments":[["v",null],["t",null]],"declType":"typeClass","fundeps":[[["v"],["t"]]],"superclasses":[]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":{"identifier":"k","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"k","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"sourceSpan":{"end":[21,30],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[19,1]},"title":"Reflectable"},{"children":[{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Reflectable"],"Reifiable"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Boolean"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[30,27],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[30,1]},"title":"<anonymous>"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Reflectable"],"Reifiable"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[31,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[31,1]},"title":"<anonymous>"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Reflectable"],"Reifiable"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Ordering"],"Ordering"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[32,28],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[32,1]},"title":"<anonymous>"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Reflectable"],"Reifiable"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"String"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[33,26],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[33,1]},"title":"<anonymous>"}],"comments":"A type class for reifiable types.\n\nInstances of this type class correspond to the `t` synthesized\nby the compiler when solving the `Reflectable` type class.\n","info":{"arguments":[["t",null]],"declType":"typeClass","fundeps":[],"superclasses":[]},"kind":null,"sourceSpan":{"end":[28,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[28,1]},"title":"Reifiable"},{"children":[],"comments":"Reify a value of type `t` such that it can be consumed by a\nfunction constrained by the `Reflectable` type class. For\nexample:\n\n```purs\ntwiceFromType :: forall v. Reflectable v Int => Proxy v -> Int\ntwiceFromType = (_ * 2) <<< reflectType\n\ntwiceOfTerm :: Int\ntwiceOfTerm = reifyType 21 twiceFromType\n```\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"t","kind":null,"skolem":null,"type":{"annotation":[],"contents":{"identifier":"r","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"t","tag":"TypeVar"}],"constraintClass":[["Data","Reflectable"],"Reifiable"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"t","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":{"annotation":[],"contents":{"identifier":"v","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"v","tag":"TypeVar"},{"annotation":[],"contents":"t","tag":"TypeVar"}],"constraintClass":[["Data","Reflectable"],"Reflectable"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"v","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"r","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"tag":"ParensInType"}],"tag":"TypeApp"},{"annotation":[],"contents":"r","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[49,94],"name":"../../../support/bower_components/purescript-prelude/src/Data/Reflectable.purs","start":[49,1]},"title":"reifyType"}],"name":"Data.Reflectable","reExports":[]}