2017-05-25 23:25:24 +02:00
|
|
|
# **rpn** - **R**everse **P**olish **N**otation language
|
2016-10-03 10:39:32 +02:00
|
|
|
|
2017-06-12 19:32:26 +02:00
|
|
|
### a lisp-based math language using 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-06-12 19:32:26 +02:00
|
|
|
### with arbitrary precision
|
2017-05-27 22:30:58 +02:00
|
|
|
```
|
|
|
|
rpn> 256 prec 200 std
|
|
|
|
rpn> pi 3 * 4 / cos
|
|
|
|
-0.70710678118654752440084436210484903928483593768847403658833986899536623923105962592591087473479525356117497671223960240783675485777817360566073272153486395308799122357513534343724299243077135552002446
|
|
|
|
```
|
2016-10-03 10:39:32 +02:00
|
|
|
|
2017-06-12 19:32:26 +02:00
|
|
|
### providing 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>
|
|
|
|
Display all 128 possibilities? (y or n)
|
|
|
|
!= -> > acosh atan cosh drop e exit for ifte max not pos r->d rot sinh sqrt sto+ tan unti xor
|
|
|
|
% ->str >= alog atanh d->r drop2 edit exp h inv min num pow rcl round sinv start sto- tanh until xpon
|
|
|
|
%CH / ? alog2 chr dec dropn else exp10 help ln mod or prec repea same size std sto/ test vars
|
|
|
|
* < ^ and chs default dup end exp2 hex log neg over purge repeat sci sneg step str-> then version
|
|
|
|
+ <= abs asin clusr depth dup2 erase fact if log2 next pi q roll sign sq sto sub type whil
|
|
|
|
- == acos asinh cos do dupn eval fix ift mant nop pick quit rolld sin sqr sto* swap uname while
|
|
|
|
rpn>
|
|
|
|
```
|
|
|
|
|
2017-06-12 19:32:26 +02:00
|
|
|
## Manual
|
2017-05-28 02:15:22 +02:00
|
|
|
|
2017-06-12 19:32:26 +02:00
|
|
|
A reference manual is provided [here](MANUAL.md)
|
2017-05-28 02:15:22 +02:00
|
|
|
|
2017-06-12 19:32:26 +02:00
|
|
|
## Installation
|
2017-06-11 13:07:37 +02:00
|
|
|
|
2017-06-12 23:05:50 +02:00
|
|
|
The delivery directory is [there](https://github.com/louisrubet/rpn/tree/master/liv)
|
2017-06-11 13:07:37 +02:00
|
|
|
|
2017-06-12 22:44:02 +02:00
|
|
|
[download .deb](https://github.com/louisrubet/rpn/blob/master/liv/rpn-2.1-amd64.deb?raw=true)
|
2017-06-11 13:07:37 +02:00
|
|
|
|
2017-06-12 22:44:02 +02:00
|
|
|
[download .rpm](https://github.com/louisrubet/rpn/blob/master/liv/rpn-2.1-amd64.rpm?raw=true)
|
|
|
|
|
|
|
|
[download .tgz](https://github.com/louisrubet/rpn/blob/master/liv/rpn-2.1-amd64.tar.gz?raw=true)
|
2017-05-28 02:15:22 +02:00
|
|
|
|
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-06-12 19:32:26 +02:00
|
|
|
## Contact
|
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-06-12 19:32:26 +02:00
|
|
|
You can use [github issues](https://github.com/louisrubet/rpn/issues) too
|