Conversation

RFC #Haskell type classes w subset of methods type Pointed = Applicative{pure} instance Pointed Endo where pure :: a -> Endo a pure a = Endo \_ -> a trouble: pure's type is still has Applicative, but I want point = pure_ :: Applicative{pure} f => a -> f a
1
2
Hot take: scrap type classes altogether and just list the methods that you want, innit Instead of `instance Num N` you can just define the methods that you actually need `(+) : N → N → N` etc. Essentially then we just have open and closed function definitions. Bam
1
1