{"comments":null,"declarations":[{"children":[{"comments":null,"info":{"declType":"typeClassMember","type":{"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":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[28,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[28,3]},"title":"sub"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Int"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[33,15],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[32,1]},"title":"ringInt"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Number"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[36,15],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[35,1]},"title":"ringNumber"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Data","Unit"],"Unit"],"tag":"TypeConstructor"}],"tag":"TypeApp"}},"sourceSpan":{"end":[39,17],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[38,1]},"title":"ringUnit"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"b","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"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":"TypeApp"}},"sourceSpan":{"end":[42,24],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[41,1]},"title":"ringFn"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Type","Proxy"],"Proxy"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[45,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[44,1]},"title":"ringProxy"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"list","tag":"TypeVar"}],"constraintClass":[["Prim","RowList"],"RowToList"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"list","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"RingRecord"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"Ring"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[48,40],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[47,1]},"title":"ringRecord"}],"comments":"The `Ring` class is for types that support addition, multiplication,\nand subtraction operations.\n\nInstances must satisfy the following laws in addition to the `Semiring`\nlaws:\n\n- Additive inverse: `a - a = zero`\n- Compatibility of `sub` and `negate`: `a - b = a + (zero - b)`\n","info":{"arguments":[["a",null]],"declType":"typeClass","fundeps":[],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Semiring"],"Semiring"],"constraintData":null,"constraintKindArgs":[]}]},"kind":null,"sourceSpan":{"end":[28,21],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[27,1]},"title":"Ring"},{"children":[],"comments":"`negate x` can be used as a shorthand for `zero - x`.\n","info":{"declType":"value","type":{"annotation":[],"contents":{"identifier":"a","kind":null,"skolem":null,"type":{"annotation":[],"contents":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"a","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"a","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"ConstrainedType"},"visibility":"TypeVarInvisible"},"tag":"ForAll"}},"kind":null,"sourceSpan":{"end":[51,37],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[51,1]},"title":"negate"},{"children":[],"comments":null,"info":{"alias":[["Data","Ring"],{"Right":{"Left":{"Ident":"sub"}}}],"declType":"alias","fixity":{"associativity":"infixl","precedence":6}},"kind":null,"sourceSpan":{"end":[30,18],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[30,1]},"title":"(-)"},{"children":[{"comments":null,"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":"rowlist","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Record"],"tag":"TypeConstructor"},{"annotation":[],"contents":"subrow","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[61,74],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[61,3]},"title":"subRecord"},{"comments":null,"info":{"declType":"instance","dependencies":[],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"RingRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim","RowList"],"Nil"],"tag":"TypeConstructor"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"tag":"REmpty"}],"tag":"TypeApp"}},"sourceSpan":{"end":[64,23],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[63,1]},"title":"ringRecordNil"},{"comments":null,"info":{"declType":"instance","dependencies":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"}],"constraintClass":[["Data","Symbol"],"IsSymbol"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"key","tag":"TypeVar"},{"annotation":[],"contents":"focus","tag":"TypeVar"},{"annotation":[],"contents":"subrowTail","tag":"TypeVar"},{"annotation":[],"contents":"subrow","tag":"TypeVar"}],"constraintClass":[["Prim","Row"],"Cons"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"subrowTail","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"RingRecord"],"constraintData":null,"constraintKindArgs":[]},{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"focus","tag":"TypeVar"}],"constraintClass":[["Data","Ring"],"Ring"],"constraintData":null,"constraintKindArgs":[]}],"type":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Data","Ring"],"RingRecord"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"Cons"],"tag":"TypeConstructor"},{"annotation":[],"contents":"key","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"focus","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"rowlistTail","tag":"TypeVar"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":"row","tag":"TypeVar"}],"tag":"TypeApp"},{"annotation":[],"contents":"subrow","tag":"TypeVar"}],"tag":"TypeApp"}},"sourceSpan":{"end":[78,56],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[66,1]},"title":"ringRecordCons"}],"comments":"A class for records where all fields have `Ring` instances, used to\nimplement the `Ring` instance for records.\n","info":{"arguments":[["rowlist",null],["row",null],["subrow",null]],"declType":"typeClass","fundeps":[[["rowlist"],["subrow"]]],"superclasses":[{"constraintAnn":[],"constraintArgs":[{"annotation":[],"contents":"rowlist","tag":"TypeVar"},{"annotation":[],"contents":"row","tag":"TypeVar"},{"annotation":[],"contents":"subrow","tag":"TypeVar"}],"constraintClass":[["Data","Semiring"],"SemiringRecord"],"constraintData":null,"constraintKindArgs":[]}]},"kind":{"keyword":"class","kind":{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim","RowList"],"RowList"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Function"],"tag":"TypeConstructor"},{"annotation":[],"contents":[{"annotation":[],"contents":[["Prim"],"Row"],"tag":"TypeConstructor"},{"annotation":[],"contents":[["Prim"],"Type"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"},{"annotation":[],"contents":[["Prim"],"Constraint"],"tag":"TypeConstructor"}],"tag":"TypeApp"}],"tag":"TypeApp"}],"tag":"TypeApp"}},"sourceSpan":{"end":[61,74],"name":"../../../support/bower_components/purescript-prelude/src/Data/Ring.purs","start":[60,1]},"title":"RingRecord"}],"name":"Data.Ring","reExports":[]}