git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
use new NameKind constructor, add some missing Functor constraints
2156fdcU-CIQDEV\gbazerman
src/Language/PureScript/Sugar/TypeClasses.hs+1−1
@@ -234,7 +234,7 @@ fillDerivingDecls className tys tyDecls decls = do
234 let missingDecls = mapMaybe declName tyDecls \\ mapMaybe declName decls
234 let missingDecls = mapMaybe declName tyDecls \\ mapMaybe declName decls
235 let mkMissingDecl cls fun =
235 let mkMissingDecl cls fun =
236 case tys of
236 case tys of
237− [TypeConstructor t] | unQualify className == ProperName cls && Ident fun `elem` missingDecls -> return [ValueDeclaration (Ident fun) Value [] (Right $ TypeClassInstanceMemberFunction (Ident fun) className t)]
237+ [TypeConstructor t] | unQualify className == ProperName cls && Ident fun `elem` missingDecls -> return [ValueDeclaration (Ident fun) Public [] (Right $ TypeClassInstanceMemberFunction (Ident fun) className t)]
238 _ -> return []
238 _ -> return []
239 extraDecls <- concat <$> mapM (uncurry mkMissingDecl)
239 extraDecls <- concat <$> mapM (uncurry mkMissingDecl)
240 [("Generic","toSpine")
240 [("Generic","toSpine")
src/Language/PureScript/TypeChecker/Deriving.hs+3−3
@@ -44,7 +44,7 @@ elaborateInstance (TypeClassInstanceMemberFunction funName className t) =
44 ,((ProperName "Generic", Ident "toSignature"), mkSignatureFunction t)]
44 ,((ProperName "Generic", Ident "toSignature"), mkSignatureFunction t)]
45elaborateInstance e = return e
45elaborateInstance e = return e
46
46
47−mkSpineFunction :: MonadState CheckState m => Qualified ProperName -> m Expr
47+mkSpineFunction :: (Functor m, MonadState CheckState m) => Qualified ProperName -> m Expr
48mkSpineFunction t = do
48mkSpineFunction t = do
49 ctors <- M.toList . dataConstructors <$> getEnv
49 ctors <- M.toList . dataConstructors <$> getEnv
50 tcs <- M.toList . typeClasses <$> getEnv
50 tcs <- M.toList . typeClasses <$> getEnv
@@ -64,7 +64,7 @@ mkSpineFunction t = do
64
64
65 return . lamCase "x" . map mkCtorClause . constructorsForType t $ ctors
65 return . lamCase "x" . map mkCtorClause . constructorsForType t $ ctors
66
66
67−mkSignatureFunction :: MonadState CheckState m => Qualified ProperName -> m Expr
67+mkSignatureFunction :: (Functor m, MonadState CheckState m) => Qualified ProperName -> m Expr
68mkSignatureFunction t = do
68mkSignatureFunction t = do
69 ctors <- M.toList . dataConstructors <$> getEnv
69 ctors <- M.toList . dataConstructors <$> getEnv
70 envtyps <- M.toList . types <$> getEnv
70 envtyps <- M.toList . types <$> getEnv
@@ -84,7 +84,7 @@ mkSignatureFunction t = do
84
84
85 return . lam "x" . mkSigProd . map mkProdClause . constructorsForType t $ ctors
85 return . lam "x" . mkSigProd . map mkProdClause . constructorsForType t $ ctors
86
86
87−mkFromSpineFunction :: MonadState CheckState m => Qualified ProperName -> m Expr
87+mkFromSpineFunction :: (Functor m, MonadState CheckState m) => Qualified ProperName -> m Expr
88mkFromSpineFunction t = do
88mkFromSpineFunction t = do
89 ctors <- M.toList . dataConstructors <$> getEnv
89 ctors <- M.toList . dataConstructors <$> getEnv
90 tcs <- M.toList . typeClasses <$> getEnv
90 tcs <- M.toList . typeClasses <$> getEnv