# Calculator
A calculator repl.
## Features
- Arithmetic
- Standard mathematical functions
- Variable bindings
- Function bindings
- Single argument functions
- Multiple argument functions
- Plotting (Optional)
- Static plots (no animation)
- Dynamic plots (for multiple argument functions)
## Installation and plotting support
The plotting support is optional as it requires `gtk2hs`. It is off by default, and can be turned on using a configuration as shown.
To install *without* plotting support.
```bash
$ cabal install calculator
```
To install *with* plotting support.
```bash
$ cabal install calculator --flags="plot-gtk-ui"
```
## TODO
Lots and lots of testing.
## Implementation
* Written in haskell
* Parsing done using [parsec](https://hackage.haskell.org/package/parsec)
* Repl built using [haskeline](https://hackage.haskell.org/package/haskeline)
* Colored output using ANSI color codes
## Usage
Use :? to view usage instructions.
## Thanks
* Thanks to [husky](https://github.com/markusle/husky) for color output.