(draft; work in progress)
See also:
- Compilers
- Program analysis:
- Dynamic analysis - instrumentation, translation, sanitizers
(draft; work in progress)
See also:
| require import Int. | |
| (* We want to allow for the application of axioms on generic type-classes*) | |
| type class 'a SemiGroup = { | |
| op combine: 'a -> 'a -> 'a; | |
| axiom SemiGroupCombine(x y z: int): combine x (combine y z) = combine (combine x y) z; | |
| }. | |
| instance intSemigroup with int SemiGroup = { | |
| op combine = Int.(+); | |
| }. |