Skip to content

Implement typeclasses for Dummy TypeParameters #73

@flip111

Description

@flip111

Out of the box using the TypeParameters needs an additional standalone deriving like deriving instance Eq A. Otherwise you will get the errors below. Could this library deriving these classes by itself so we can avoid the standalone deriving boilerplate?

data Maybe' a = Nothing' | Just' a
  deriving (Generic, Eq)

myTypes :: [SumType 'Haskell]
myTypes =
  [ let p = (Proxy :: Proxy (Maybe' A)) in equal p (mkSumType p) -- line 53
  ]

run :: IO ()
run = writePSTypes "/home/flip111/types" (buildBridge defaultBridge) myTypes
Main.hs:53:44: error:
    • No instance for (Eq A) arising from a use of ‘equal’
    • In the expression: equal p (mkSumType p)
      In the expression:
        let p = (Proxy :: Proxy (Maybe' A)) in equal p (mkSumType p)
      In the expression:
        [let p = (Proxy :: Proxy (Maybe' A)) in equal p (mkSumType p)]
   |
53 |   [ let p = (Proxy :: Proxy (Maybe' A)) in equal p (mkSumType p)
   |                                            ^^^^^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions