#calculator #cli #math

app rccp

Rust Calculator for Cool People

5 releases

0.2.1 Sep 17, 2023
0.2.0 Sep 14, 2023
0.1.9 Sep 12, 2023
0.1.8 Sep 12, 2023
0.1.6 Sep 12, 2023

#304 in Command line utilities

33 downloads per month

MIT license

185 lines

RCCP - Rust Calculator for Cool People


RCCP is a simple command-line calculator written in Rust as an alternative to more conventional GUI calculators. It supports basic arithmetic calculation, and respects the order of operation (BIDMAS/BODMAS/PEMDAS).


  • Basic arithmetic operations: addition (+), subtraction (-), multiplication (*), and division (/).
  • Exponents: use the ^ symbol to perform exponentiation (e.g., 2^3 equals 8).
  • Factorial: use the ! symbol to calculate the factorial of a number (e.g., 5! equals 120).
  • Sqare root: use sqrt to calculete the sqare root of a number (e.g., sqrt(9))
  • Trigonometry: use sin, cos, and tan in your equations (e.g., sin(16))
  • Logorithm: use log to calculate the logorithmic of a number (e.g., log(100))
  • Order of operations: operations are performed in the correct order according to BODMAS/BIDMAS/PEDMAS rules.
  • Parentheses: parentheses can be used to change the order of operations.
  • Simple Command Line Interface


To install RCCP, you can use the rust package manager: cargo.

$ curl https://sh.rustup.rs -sSf | sh
$ cargo install rccp
$ rccp

Or you can build it from source, using the github repository.

$ git clone https://github.com/d3vboi/rccp.git
$ cd rccp
$ curl https://sh.rustup.rs -sSf | sh
$ cargo run -q

Keep in mind, if you use this method you will need to be in the RCCP directory to be able to run the cargo command.


To use RCCP, simply run the program, then enter an expression at the prompt:

$ rccp
> 2 + 3 * 4
> exit

As we can see in this example, RCCP correctly performs the multiplication before the addition, resulting in the 14 instead of 20. You do not need to add spaces in between characters. > 2+3*4 is also a valid expression.


This project is licensed under the MIT License.


  • Gracefully exit when using ctrl+c
  • Support for arrow keys (e.g., expression history)
  • Error handling
  • Variable support + constant support (e.g., pi and e)
  • Minor bug fixes

No runtime deps