In the last posts about Eq, Ord, Semigroup and Monoid we saw that instances must comply with some laws.
So how can we ensure that our instances ar...
For further actions, you may consider blocking this person and/or reporting abuse
I was playing a bit with this and wondering if/how it would make sense to test a monoid for tasks. Any ideas? Particularly on generating a setoid for those types?
I think you have a typo in your Monoid instance. The string should not be empty for the test to fail
concat(x, empty)
is equal tox + ' ' + empty
by definition ofconcat
. Ifx = ''
thenx + ' ' + empty
is equal to'' + ' ' + ''
which is equal to' '
soconcat(x, empty) !== x
Ah, yeah, I missed the extra space in the Semigroup instance