rpn/README.md

71 lines
2.4 KiB
Markdown
Raw Normal View History

2017-06-16 19:00:48 +02:00
# **rpn** - **R**everse **P**olish **N**otation language [![License: LGPLv3](https://www.gnu.org/graphics/lgplv3-88x31.png)](https://www.gnu.org/licenses/lgpl-3.0.en.html)
2016-10-03 10:39:32 +02:00
2018-07-28 13:13:57 +02:00
### a math functional language using reverse polish notation
2016-10-03 10:39:32 +02:00
2017-05-27 22:30:58 +02:00
```
2017-06-12 19:32:26 +02:00
rpn> 1 2 + 2 sqrt
2017-05-31 14:28:31 +02:00
2> 3
2017-05-27 22:30:58 +02:00
1> 1.4142135623730950488
```
2017-07-01 17:32:19 +02:00
### arbitrary precision provided by GNU MPFR
2017-05-27 22:30:58 +02:00
```
rpn> 256 prec
rpn> pi
3.1415926535897932384626433832795028841971693993751058209749445923078164062862
2018-05-06 13:46:34 +02:00
rpn>
2017-05-27 22:30:58 +02:00
```
2016-10-03 10:39:32 +02:00
2017-07-01 17:32:19 +02:00
### variables, programs
2017-05-27 22:30:58 +02:00
```
2017-06-12 19:32:26 +02:00
rpn> << rot * swap 2 / chs dup sq rot - sqrt >> 'quad' sto
rpn> << -> x y << x y + ln >> >> 'P' sto
2017-05-27 22:30:58 +02:00
```
2016-10-03 10:39:32 +02:00
2017-06-12 19:32:26 +02:00
### and a bunch of functions
2017-06-11 01:23:18 +02:00
```
rpn>
2018-08-15 18:04:55 +02:00
Display all 150 possibilities? (y or n)
nop pow fp >= dupn next sto* exp
help sqrt min < pick step sto/ expm
h sq max <= depth ift sneg log10
? sqr re != roll ifte sinv alog10
quit abs im == rolld do eval exp10
q dec conj and over until -> log2
exit hex arg or ->str unti pi alog2
test bin c->r xor str-> while sin exp2
version base r->c not chr whil asin sinh
uname sign p->r same num repeat cos asinh
history % r->p swap size repea acos cosh
+ %CH std drop pos sto tan acosh
- mod fix drop2 sub rcl atan tanh
chs fact sci dropn if purge d->r atanh
neg mant prec del then vars r->d time
* xpon round erase else clusr e date
/ floor default rot end edit ln ticks
inv ceil type dup start sto+ log
^ ip > dup2 for sto- lnp1
2017-06-11 01:23:18 +02:00
```
2017-06-18 23:41:57 +02:00
## Download
2018-08-15 18:04:55 +02:00
deb, rpm and tgz files can be found [there](liv/)
2017-06-18 23:45:38 +02:00
## Manual
2017-06-18 23:45:38 +02:00
A reference manual is provided [here](MANUAL.md)
2017-05-28 02:15:22 +02:00
2018-05-06 13:46:34 +02:00
## Methods
Development methods are set at [this page](METHODS.md)
2017-06-12 19:32:26 +02:00
## Generation
2017-05-28 02:15:22 +02:00
2017-06-12 19:32:26 +02:00
Generation instructions can be found [here](GENERATION.md)
2017-05-28 02:15:22 +02:00
2017-07-05 18:11:55 +02:00
## Contact, contribution, bug report
2017-06-10 18:55:45 +02:00
2017-06-12 19:32:26 +02:00
Please email me at [louis@rubet.fr](mailto:louis@rubet.fr)
2017-06-10 18:55:45 +02:00
2017-07-05 18:11:55 +02:00
You can also use [github issues](https://github.com/louisrubet/rpn/issues) and [pull requests](https://github.com/louisrubet/rpn/pulls)