给定一个半群,我想定义一个“整数乘法”,将“做某事 n 次”的概念形式化:
intMul n s == s <> s <> ... <> s
对于任何和s
,右侧出现 n 次。Int
n
Semigroup
s
这似乎是一个相当通用的概念,所以我想已经有一个代数/群理论结构。如果存在,这个结构的名称是什么,它是由标准的纯脚本库之一提供的吗?
如果我需要自己写这个:每个半组的实现都是相同的。这是否意味着类型类不是代表它的正确选择?
编辑:要明智地将“intmultiplying”定义为零,我认为我需要一个幺半群而不是半群,所以intMul 0 s == mempty
. 如果我想允许乘以负整数,我实际上需要逆元素,即一个组。哪个似乎在纯脚本中没有类型类,对吗?