Endofunktion als Monoid
Ich versuche dies (zu Lernzwecken):
{-# LANGUAGE FlexibleInstances #-}
instance Monoid (a -> a) where
mempty = id
mappend f g = f . g
erwartungid <> id
gleich @ seid . id
Jedoch mit(id <> id) 1
Ich erhalte diesen Fehler:
Non type-variable argument in the constraint: Monoid (a -> a)
Was muss ich ändern, um es auszuführen?
Es ist nur, um Monoide und Haskell-Typenklassen besser zu verstehen, nicht für den praktischen Gebrauch.