Kalker/kalk is a calculator with math syntax that supports user-defined variables and functions, complex numbers, and estimation of derivatives and integrals
Kalker (or "kalk") is a calculator program/website that supports user-defined variables, functions, differentiation, and integration. It runs on Windows, macOS, Linux, Android, and in web browsers (with WebAssembly).
Kanban | Website - Try it out here!
Features
+
, -
, *
, /
, !
()
, []
, ⌈ceil⌉
, ⌊floor⌋
f(x, y) = xy
, x = 5
f'(2)
, sin'(-pi)
∫(0, pi, sin(x) dx)
or ∫(0, π, sin(x) dx)
, maybe sometimes be slightly off2sin50 + 2xy
sqrt
and press tab. It will be turned into √
sum(start, to, expression)
Eg. sum(1, 3, 2n+1)
is the same as 2*1+1 + 2*2+1 + 2*3+1
= 15
f(x) = { f(x + 1) if x <= 1; x otherwise }
, pressing enter before typing the final }
will make a new line without submitting-i file
flag or by putting files in a certain directory and then doing load filename
inside kalker. More about files here
0b1101
, 0o5.3
, 0xff
or a format like 1101_2
. The latter does not support letters, as they would be interpreted as variablesans
variable to get the value of the previously calculated expressionInstallation Package managers macOS
brew install kalker
Arch Linux
kalker
in the AUR, eg. yay -S kalker
Nix/NixOS
Kalker is available through nixpkgs
.
The most up to date version is also available as a flake
.
NetBSD
Kalker is available from the official repositories
,
pkgin install kalker
Binaries
Pre-compiled binaries for Linux, Windows, and macOS (64-bit) are available in the releases page.
Compiling
Minimum rust version: v1.36.0. Make sure you have diffutils
gcc
make
and m4
installed. If you use windows: follow the instructions here (don't forget to install mingw-w64-x86_64-rust
in MSYS2).
Cargo
Run cargo install kalker
Manually
cli
directory.cargo build --release
targets/release
Donation
Kalker is completely free and open source. If you wish to support further development of Kalker and contribute towards it one day getting published on the Google Play Store, you can do so here: PayPal
Libraries
There are currently three different libraries related to kalker.
kalk
. This lets you use it in the browser thanks to WebAssembly.@paddim8/kalk
, which let's you use kalk in the browser with a command line-like interface.Syntax
A more complete reference can be found on the website.
Functions
Defining: name(parameter1, parameter2, ...) = expression
Example: $ f(x) = 2x+3 $
Using: name(argument1, argument2)
Example: $ f(2) $
Variables
Defining: name = expression
Example: $ x = 3 $
Using: name
Example: $ x $
Contributing kalk and cli (Rust)
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 kalker (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.
All Rust code is expected to be formatted with `rustfmt
web (Svelte, TypeScript, Sass)
Run:
npm install
npm run dev
- this will automatically re-compile the project when changes are mademobile (Android)
Run:
npm install
npm run build
npx cap sync
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.