ekmett / ekmett/linear

Epsilon without Num

Open
#168 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
220
Forks
55
PR merge metrics
No merged PRs in 30d

Description

There doesn't seem to be anything in `Epsilon` that would require instances to also be instances of `Num`. I have some numeric `newtype`s that I'm making `Additive` but not full instances of `Num` that I'd like to still be `Epsilon`. Could the `Num` constraint be removed?

For instance, for dimensioned quantities:

```haskell
newtype Angle = Radians Double
-- with appropriate instances, but not Num

birotate :: Angle -> Angle -> Point -> Point
birotate a1 a2
| nearZero da = id
| otherwise = mkRotation da
where
da = a1 + a2
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.