calculator: A calculator repl, with variables, functions & Mathematica like dynamic plots.

[ gpl, math, program ] [ Propose Tags ]

A calculator repl that processes mathematical expressions. Does basic arithmetic, and provides pre-defined basic mathematical functions.

Provides binding functionality for variables and functions, and plotting support for functions with arbitrary number of arguments.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,,,,,,,,,,,,,,,,,,,, (info)
Dependencies base (>=4.6 && <5.0), containers, gtk, haskeline, hmatrix, parsec, plot-gtk-ui, transformers [details]
License GPL-2.0-only
Author Sumit Sahrawat
Category Math
Home page
Source repo head: git clone
Uploaded by sumitsahrawat at 2016-10-10T20:31:33Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables calculator
Downloads 16181 total (29 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-11-04 [all 4 reports]

Readme for calculator-

[back to package description]


Build Status

A feature rich calculator repl.


  • Arithmetic
  • Standard mathematical functions
  • Variable bindings
  • Function bindings
    • Single argument functions
    • Multiple argument functions
  • Plotting
    • Static plots (no animation)
    • Dynamic plots (for multiple argument functions)


Linux users

From hackage:

stack install gtk2hs-buildtools
PATH="$HOME/.local/bin:$PATH" stack install calculator

From the repo:

stack install gtk2hs-buildtools # From a directory with no stack.yaml
cd /path/to/calculator/repo
PATH="$HOME/.local/bin:$PATH" stack install

Windows users

This should work, assuming the PATH variable is set correctly:

cmd> stack install gtk2hs-buildtools
cmd> stack install calculator


  • Written in haskell
  • Parsing done using parsec
  • Repl built using haskeline
  • Colored output using ANSI color codes


Use :? to view usage instructions.


  • Thanks to husky for color output.