Intro/sample script for rprb (aka Reverse Polish RuBy)

{ Kernel swap puts drop } :say sto { "Enter to continue..." say gets drop } :pause sto

basic RPN stuff

1 1 + p 2 * p pause

basic Ruby stuff

zero? p 0 zero? p Array.new 1 push p clr pause

obviously, lines starting with # are ignored, but also..

<<proc { puts "hi!" } call pause

like Lisp, we have a "read" function

"1 1 +" read p

which is equivalent to

{ 1 1 + } p pause

and an "eval" function to evaluate the results

eval p clr pause

and an "evaln" function to evaluate n times

{ 1 1 + } 5 dupn 5 evaln p clr

we have registers..

1 :a sto p :a rcl p

registers store our functions

:drop rcl p { dup2 + } :fib sto 0 1 fib p

exen executes multiple times

:fib 5 exen

which is equivalent to

:fib rcl 5 evaln

and a bunch of other stuff