import Language.Symantic.Lib.Function (a0)
-- * Class 'Sym_Monoid'
-type instance Sym (Proxy Monoid) = Sym_Monoid
+type instance Sym Monoid = Sym_Monoid
class Sym_Monoid term where
mempty :: Monoid a => term a
mappend :: Monoid a => term a -> term a -> term a
instance (Sym_Monoid term, Sym_Lambda term) => Sym_Monoid (BetaT term)
-- Typing
+instance NameTyOf Monoid where
+ nameTyOf _c = ["Monoid"] `Mod` "Monoid"
instance FixityOf Monoid
instance ClassInstancesFor Monoid
instance TypeInstancesFor Monoid
-- Compiling
instance Gram_Term_AtomsFor src ss g Monoid
-instance (Source src, Inj_Sym ss Monoid) => ModuleFor src ss Monoid where
+instance (Source src, SymInj ss Monoid) => ModuleFor src ss Monoid where
moduleFor = ["Monoid"] `moduleWhere`
[ "mempty" := teMonoid_mempty
, "mappend" := teMonoid_mappend