|0.5.4||May 31, 2021|
|0.4.1||May 18, 2021|
|0.3.14||Feb 22, 2021|
|0.3.9||Dec 28, 2020|
|0.2.0||Jun 18, 2020|
#63 in Math
217 downloads per month
Kalk is a calculator (both program and library) that supports user-defined variables, functions, derivation, and integration. It runs on Windows, macOS, Linux, Android, and in web browsers (with WebAssembly).
- Operators: +, -, *, /, !
- Groups: (), ⌈⌉, ⌋⌊
- Pre-defined functions and constants
- User-defined functions and variables.
f(x, y) = xy,
x = 5
- User-defined units (experimental).
unit m = cm/100,
50cm to m
- Derivative of functions (derivatives of higher order can be a bit inaccurate).
∫(0, pi, sin(x) dx)or
∫(0, π, sin(x) dx)
- Understands fairly ambiguous syntax. Eg.
2sin50 + 2xy
- Syntax highlighting
- Special-symbol completion on tab. Eg. write
sqrtand press tab. It will be turned into
- Sum function:
sum(start, to, expression)Eg.
sum(1, 3, 2n+1)is the same as
2*1+1 + 2*2+1 + 2*3+1=
- Load a file including predefined functions and constants. For example, if you're going to use Kalk for physics, you load up your file with physics functions/constants when starting Kalk.
- Misc: separate expressions by a semicolon to write them on the same line, use the
ansvariable to get the value of the previously calculated expression.
There are currently three different libraries related to kalk.
- kalk: The Rust crate that powers it all.
kalk. This lets you use it in the browser thanks to WebAssembly.
- @paddim8/kalk-component: A web component that runs
@paddim8/kalk, which let's you use kalk in the browser with a command line-like interface.
Pre-compiled binaries for Linux, Windows, and macOS (64-bit) are available in the releases page.
Minimum rust version: v1.36.0. Make sure you have
m4 installed. If you use windows: follow the instructions here (don't forget to install
mingw-w64-x86_64-rust in MSYS2).
cargo install kalk_cli
- Go into the
cargo build --release
- Grab the binary from
A more complete reference can be found on the website
Defining: name(parameter1, parameter2, ...) = expression
f(x) = 2x+3
Using: name(argument1, argument2)
Defining: name = expression
x = 3
After making changes to the kalk library (in
kalk/), you can easily try them out by going to the root of the project directory, and doing
cargo run. This will start kalk_cli, with the new changes. If you're using Windows, you will need to follow the instructions here, but also make sure to install
mingw-w64-x86_64-rust in MSYS2.
npm run dev- this will automatically re-compile the project when changes are made
npx cap sync
- Build the project using Android Studio, or Gradle directly.