Re:Frege: A Haskell-Like Language for the JVM
by skwosh on Thursday August 13, 2015 @09:51PM
(#10058232)
I think using Haskell's type syntax is misleading in this context (and doesn't really imply the required associativity (much less commutativity if you wanted to consider Abelian monoids)).
The operation of a monoid maps from pairs of things to things. So in terms of types:
<a,a> -> a
Or for some `twin` type constructor:
twin a -> a
This is a bit more suggestive also in terms of F-algebras, where the operation has the following signature (f is a functor, or mappable container):
The operation of a monoid maps from pairs of things to things. So in terms of types:
Or for some `twin` type constructor: This is a bit more suggestive also in terms of F-algebras, where the operation has the following signature (f is a functor, or mappable container):