{"efVersion":"0.10.5","efModuleName":["Data","EuclideanRing"],"efExports":[{"ReExportRef":[["Data","CommutativeRing"],{"TypeClassRef":"CommutativeRing"}]},{"TypeClassRef":"EuclideanRing"},{"ReExportRef":[["Data","Ring"],{"TypeClassRef":"Ring"}]},{"ReExportRef":[["Data","Semiring"],{"TypeClassRef":"Semiring"}]},{"ReExportRef":[["Data","Semiring"],{"ValueRef":{"Ident":"add"}}]},{"ValueRef":{"Ident":"degree"}},{"ValueRef":{"Ident":"div"}},{"ValueRef":{"Ident":"mod"}},{"ReExportRef":[["Data","Semiring"],{"ValueRef":{"Ident":"mul"}}]},{"ReExportRef":[["Data","Semiring"],{"ValueRef":{"Ident":"one"}}]},{"ReExportRef":[["Data","Ring"],{"ValueRef":{"Ident":"sub"}}]},{"ReExportRef":[["Data","Semiring"],{"ValueRef":{"Ident":"zero"}}]},{"ReExportRef":[["Data","Semiring"],{"ValueOpRef":"*"}]},{"ReExportRef":[["Data","Semiring"],{"ValueOpRef":"+"}]},{"ReExportRef":[["Data","Ring"],{"ValueOpRef":"-"}]},{"ValueOpRef":"/"},{"PositionedDeclarationRef":[{"start":[3,5],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[3,32]},[],{"ModuleRef":["Data","CommutativeRing"]}]},{"PositionedDeclarationRef":[{"start":[4,5],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[4,21]},[],{"ModuleRef":["Data","Ring"]}]},{"PositionedDeclarationRef":[{"start":[5,5],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[5,25]},[],{"ModuleRef":["Data","Semiring"]}]},{"TypeInstanceRef":{"Ident":"euclideanRingInt"}},{"TypeInstanceRef":{"Ident":"euclideanRingNumber"}},{"TypeInstanceRef":{"Ident":"euclideanRingUnit"}}],"efImports":[{"eiModule":["Prim"],"eiImportType":{"Implicit":[]},"eiImportedAs":null},{"eiModule":["Data","CommutativeRing"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[8,30],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[8,51]},[],{"TypeClassRef":"CommutativeRing"}]}]},"eiImportedAs":null},{"eiModule":["Data","Ring"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[9,19],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[9,29]},[],{"TypeClassRef":"Ring"}]},{"PositionedDeclarationRef":[{"start":[9,31],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[9,34]},[],{"ValueRef":{"Ident":"sub"}}]},{"PositionedDeclarationRef":[{"start":[9,36],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[9,39]},[],{"ValueOpRef":"-"}]}]},"eiImportedAs":null},{"eiModule":["Data","Semiring"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[10,23],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,37]},[],{"TypeClassRef":"Semiring"}]},{"PositionedDeclarationRef":[{"start":[10,39],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,42]},[],{"ValueRef":{"Ident":"add"}}]},{"PositionedDeclarationRef":[{"start":[10,44],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,47]},[],{"ValueRef":{"Ident":"mul"}}]},{"PositionedDeclarationRef":[{"start":[10,49],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,52]},[],{"ValueRef":{"Ident":"one"}}]},{"PositionedDeclarationRef":[{"start":[10,54],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,58]},[],{"ValueRef":{"Ident":"zero"}}]},{"PositionedDeclarationRef":[{"start":[10,60],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,63]},[],{"ValueOpRef":"*"}]},{"PositionedDeclarationRef":[{"start":[10,65],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[10,68]},[],{"ValueOpRef":"+"}]}]},"eiImportedAs":null},{"eiModule":["Data","Unit"],"eiImportType":{"Explicit":[{"PositionedDeclarationRef":[{"start":[11,19],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[11,23]},[],{"TypeRef":["Unit",[]]}]},{"PositionedDeclarationRef":[{"start":[11,25],"name":"/Users/nicholaw/git/purescript-suggest/bower_components/purescript-prelude/src/Data/EuclideanRing.purs","end":[11,29]},[],{"ValueRef":{"Ident":"unit"}}]}]},"eiImportedAs":null}],"efFixities":[{"efAssociativity":"infixl","efPrecedence":7,"efOperator":"/","efAlias":[["Data","EuclideanRing"],{"Left":{"Ident":"div"}}]}],"efTypeFixities":[],"efDeclarations":[{"EDType":{"edTypeName":"EuclideanRing","edTypeKind":{"tag":"FunKind","contents":[{"tag":"NamedKind","contents":[["Prim"],"Type"]},{"tag":"NamedKind","contents":[["Prim"],"Type"]}]},"edTypeDeclarationKind":{"TypeSynonym":[]}}},{"EDTypeSynonym":{"edTypeSynonymName":"EuclideanRing","edTypeSynonymArguments":[["a",null]],"edTypeSynonymType":{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"tag":"RCons","contents":["degree",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]},{"tag":"RCons","contents":["div",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"RCons","contents":["mod",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"RCons","contents":["__superclass_Data.CommutativeRing.CommutativeRing_0",{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Record"]},{"tag":"REmpty","contents":[]}]}]},{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Data","CommutativeRing"],"CommutativeRing"]},{"tag":"TypeVar","contents":"a"}]}]},{"tag":"REmpty","contents":[]}]}]}]}]}]}}},{"EDClass":{"edClassName":"EuclideanRing","edClassTypeArguments":[["a",null]],"edClassMembers":[[{"Ident":"degree"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}],[{"Ident":"div"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}],[{"Ident":"mod"},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]],"edClassConstraints":[{"constraintClass":[["Data","CommutativeRing"],"CommutativeRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null}],"edFunctionalDependencies":[]}},{"EDValue":{"edValueName":{"Ident":"degree"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}]}]},2]}}},{"EDValue":{"edValueName":{"Ident":"div"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]},1]}}},{"EDValue":{"edValueName":{"Ident":"mod"},"edValueType":{"tag":"ForAll","contents":["a",{"tag":"ConstrainedType","contents":[[{"constraintClass":[["Data","EuclideanRing"],"EuclideanRing"],"constraintArgs":[{"tag":"TypeVar","contents":"a"}],"constraintData":null}],{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeApp","contents":[{"tag":"TypeApp","contents":[{"tag":"TypeConstructor","contents":[["Prim"],"Function"]},{"tag":"TypeVar","contents":"a"}]},{"tag":"TypeVar","contents":"a"}]}]}]},0]}}},{"EDInstance":{"edInstanceClassName":[["Data","EuclideanRing"],"EuclideanRing"],"edInstanceName":{"Ident":"euclideanRingInt"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Prim"],"Int"]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Data","EuclideanRing"],"EuclideanRing"],"edInstanceName":{"Ident":"euclideanRingNumber"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Prim"],"Number"]}],"edInstanceConstraints":[]}},{"EDInstance":{"edInstanceClassName":[["Data","EuclideanRing"],"EuclideanRing"],"edInstanceName":{"Ident":"euclideanRingUnit"},"edInstanceTypes":[{"tag":"TypeConstructor","contents":[["Data","Unit"],"Unit"]}],"edInstanceConstraints":[]}}]}