hafar-0.1.0.0: README.md
# Hafar
Hafar is an implementation of affine arithmetic in haskell.
## Building
To build the library, simply run
```
# stack build
```
or if using cabal
```
# cabal install --only-dependencies
# cabal build
```
## Example
All operations with affine forms must be done inside the AFM monad.
```
import Numeric.Interval hiding (interval)
x1 = do
a <- newFromInterval $ 4...6
b <- newFromInterval $ 4...6
return . interval $ a - b
evalAFM x1 -- evaluates to approximately -2 ... 2
x2 = do
a <- newFromInterval $ 4...6
return . interval $ a - a
evalAFM x2 -- evaluates to approximately 0 ... 0
```