I don't think this caveat is needed here, maybe there should be a float(7) that explains IEEE-754 and its caveats.
Integers and operations can be mixed. I would classify an integer as an operation, too - the push operation.
If this were C I would put the sentry value first so validity is just a measure of whether or not the enum is 0. I don't know if Rust works that way but it's a thought. It may also make more sense conceptually if Empty and Val are the zeroth and first enumerations respectively.
- bark (the part of the tree you can touch)
- fruit (what you get from the tree)
- bon
- broots (bonsai's roots)
- sticks
rpn(1)
- reverse polish notation
When writing
npc 1 2 *
the shell automatically takes the asterisk as a wildard and it must be quoted. Should we do anything about this (i.e. havex
be the multiplication operator when…
I would prefer evaluate() only because Python, shell, and Lisp have beaten terror at the sight of the abbreviation into me.
Is this just every CalcType besides Val? Is there a better way to write that, e.g. match except Val?
I chipped in my thought on making sure rpn(1) functions like HP and Elektronika calculators when operating and this implementation satisfies me.