packages feed

purescript-0.15.15: tests/purs/passing/InheritMultipleSuperClasses.purs

module Main where

import Prelude
import Effect.Console (log)

class (Functor f, Functor g) <= Eg1 f g

f1 :: forall f g. Eg1 f g => f ~> f
f1 = map identity -- Err, No type class instance was found for Functor f

g1 :: forall f g. Eg1 f g => g ~> g
g1 = map identity -- ok


class (Functor g, Functor f) <= Eg2 f g

f2 :: forall f g. Eg2 f g => f ~> f
f2 = map identity -- ok

g2 :: forall f g. Eg2 f g => g ~> g
g2 = map identity -- Err, No type class instance was found for Functor g


main = log "Done"