installation
Requires the latest stable Python version.
pip install kalk
Usage
After installation run kalk from your terminal.
In RPN syntax one would first enter the operands and then the operator:
>>> 1
1
>>> 2
2
>>> +
3
You may also enter the operands and the operator in one line, just use space to separate them:
>>> 41 1 +
42
(tip: the space is not needed when the syntax is not ambiguous.)
Kalk tries to follow Python’s syntax. Similar to Python, ** is the power operator and ^ is bitwise XOR:
>>> 3 3 **
27
>>> 3 3 ^
0
Kalk ignores , (thousands separator) within numbers.
>>> 1,234 1 +
1,235
Most of the functions defined in Python’s math and statistics modules are supported.
>>> 6 lgamma
4.787491742782047
and many more.
You can even do datetime and timedelta calculations:
>>> "2023-03-22" dt
2023-03-22 00:00:00
>>> 2 days 3 hours +
2 days, 3:00:00
>>> -
2023-03-19 21:00:00
Start a substack (a list) with a [ and end it with a ]. Some functions require lists as argument. For example to calculate the distance between two points or sum of some numbers:
>>> [2 -1] [-2 2] dist
5.0
>>> [0 0 0] [1 1 1] dist
1.7320508075688772
>>> [1 1 1] sum
3
Handy operators:
<> swaps the place of the last two values in the stack.
c clears the stack
cp copies the last result to clipboard.
del deletes the last n + 1 values from from the stack with n being the last value in the stack.
e adds Euler’s number to the stack
pi adds the pi constant to the stack
pst pastes the contents of clipboard and evaluates it.
a the last answer
s prints the stack
sto stores the value before the last in storage using the last stack value as the key.
rcl recalls the value in storage using the last stack value as the key.
h prints a list of all operators. (still needs lots of refinements.)
? prints the docstring of the operator given as a string. For example "<>" ? will print the help string on swap. Note that not all functions have documentation yet.
ctrl+c (KeyboardInterrupt) will cancel the current input.
exit will quit the program.
Release files for kalk 0.19.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kalk-0.19.0.tar.gz | 6.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kalk-0.19.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.9 kB
Release files / kalk-0.19.0.tar.gz
| Download URL | kalk-0.19.0.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
97a928b55f1aebb63508047e4b5b99e5f9e87630aba75c774db44d01086b5800
|
|
BLAKE2b-256 checksum How to use checksums |
c32d53197ba4bfff98629205d3866032f77920aaa3933ff458fb59bdffa6947d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.12
|
Release files / kalk-0.19.0-py3-none-any.whl
| Download URL | kalk-0.19.0-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3dd733d4402aa11abfc24ecc7ebbd936f52f06e28952cb2679c3a6a369f1ccd5
|
|
BLAKE2b-256 checksum How to use checksums |
ed88c09c8f0cf3e89ae2ffe8ff952204b7975a51619bfb9eeec7af5cfc4c7130
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.12
|