Commit 94bda880 authored by Yuanle Song's avatar Yuanle Song
Browse files

add docs

parents
Loading
Loading
Loading
Loading

README.org

0 → 100644
+34 −0
Original line number Diff line number Diff line
* COMMENT -*- mode: org -*-
#+Date: 2017-01-26
Time-stamp: <2017-01-26>

* an RPN calculator implemented in HTML and client side javascript
It can be used offline on platforms that support web service.

It use a compute and UI model similar to emacs calc-mode.

* UI
--- stack ---    Keyboard            |   --- trail ---
                                     |
                 [            ]      |
                                     |
                 7   8   9    <      |
                                     |
                 4   5   6    *      |
                                     |
                 1   2   3    -      |
                                     |
                 0   /   .    +      |
                                     |
                SWP UNDO     RET     |

* features
- totally event based
- virtual keyboard
- everything on the top of stack adds a record in trail window
- show error when an event is invalid. not enough element, division by zero etc.
- partial number input is in virtual display, press RET to send number to stack.
- you can duplicate top value on stack using RET
- you can swap top 2 values on stack using SWP
- you can delete top value on stack using ←
- you can undo using UNDO

operational

0 → 100644
+24 −0
Original line number Diff line number Diff line
* COMMENT -*- mode: org -*-
#+Date: 2017-01-26
Time-stamp: <2017-01-26>
#+STARTUP: content
* notes                                                               :entry:
* later                                                               :entry:
* current                                                             :entry:
** 
** 2017-01-26 make trail persistent
trail is a sized fifo queue, it just store recent 1k entries.
when multiple instances of calculator is working. they all write to a single
trail cache. it's not a problem.

** 2017-01-26 make it work offline, add sw.js
** 2017-01-26 make undo work
** 2017-01-26 make stack auto numbering work
** 2017-01-26 make < (backspace) work.
** 2017-01-26 make basic things work.
- draw the keyboard using HTML and CSS
- make basic number input and arithmetic work
- make DUP and SWP work
- make trail work
* done                                                                :entry:
* wontfix                                                             :entry: