e71709b303
FossilOrigin-Name: 2ea7e4d5f74070041c454af65713a478ebe2a9d71bbc9e6bb6add6c256351765
197 lines
1.9 KiB
Markdown
197 lines
1.9 KiB
Markdown
# RETRO Quick Reference
|
|
|
|
Displaying Things
|
|
-----------------
|
|
|
|
Numbers
|
|
=======
|
|
|
|
#100 putn
|
|
|
|
|
|
Characters
|
|
==========
|
|
|
|
$a putc
|
|
|
|
|
|
Strings
|
|
=======
|
|
|
|
'hello,_world puts
|
|
|
|
|
|
Mixed
|
|
=====
|
|
|
|
#1 #2 #3 '%n_-_%n_=_%n\n s:format puts
|
|
'Charles' 'Hello_%s\n s:format puts
|
|
|
|
|
|
Conditionals
|
|
------------
|
|
|
|
Equality
|
|
========
|
|
|
|
|
|
#2 #3 eq?
|
|
|
|
|
|
Inequality
|
|
==========
|
|
|
|
#3 #4 -eq?
|
|
|
|
|
|
Greather Than
|
|
=============
|
|
|
|
#3 #4 gt?
|
|
|
|
|
|
Less Than
|
|
=========
|
|
|
|
#3 #4 lt?
|
|
|
|
|
|
Greater Than or Equal To
|
|
========================
|
|
|
|
#3 #4 gteq?
|
|
|
|
|
|
Less Than or Equal To
|
|
=====================
|
|
|
|
#3 #4 lteq?
|
|
|
|
|
|
String Equality
|
|
===============
|
|
|
|
'hello 'world s:eq?
|
|
|
|
|
|
String Inequality
|
|
=================
|
|
|
|
'hello 'world s:eq? not
|
|
|
|
|
|
If / Then
|
|
=========
|
|
|
|
#1 #2 eq? [ 'true ] [ 'false ] choose
|
|
#1 #2 eq? [ 'true ] if
|
|
#1 #2 eq? [ 'false ] -if
|
|
|
|
|
|
Multiple Comparisons
|
|
====================
|
|
|
|
[ @Base
|
|
#8 [ 'octal ] case
|
|
#10 [ 'decimal ] case
|
|
#16 [ 'hexadecimal ] case
|
|
drop (default_case)
|
|
] call
|
|
|
|
|
|
Function Defintions
|
|
-------------------
|
|
|
|
Quotes (Anonymous)
|
|
==================
|
|
|
|
[ (code) ]
|
|
|
|
Quotes can be nested.
|
|
|
|
|
|
Named
|
|
=====
|
|
|
|
:name (stack_comment)
|
|
(code) ;
|
|
|
|
Quotes can be nested inside a named function.
|
|
|
|
|
|
Loops
|
|
-----
|
|
|
|
Unconditional
|
|
=============
|
|
|
|
repeat (code) again
|
|
|
|
Conditional loops are generally preferable.
|
|
|
|
|
|
Counted
|
|
=======
|
|
|
|
(simple,_no_index_on_stack)
|
|
#10 [ $a putc ] times
|
|
|
|
|
|
Conditional
|
|
===========
|
|
|
|
#10 [ n:dec dup putn dup n:-zero? ] while
|
|
|
|
|
|
Math
|
|
----
|
|
|
|
Addition
|
|
========
|
|
|
|
#100 #200 +
|
|
|
|
|
|
Subtraction
|
|
===========
|
|
|
|
#400 #32 -
|
|
|
|
|
|
Multiplication
|
|
==============
|
|
|
|
#98 #12 *
|
|
|
|
|
|
Division
|
|
========
|
|
|
|
#200 #4 /
|
|
|
|
|
|
Remainder
|
|
=========
|
|
|
|
#203 #4 mod
|
|
|
|
|
|
Power
|
|
=====
|
|
|
|
Raise 3 to the second power.
|
|
|
|
#3 #2 n:pow
|
|
|
|
|
|
Absolute Value
|
|
==============
|
|
|
|
#-76 n:abs
|
|
|
|
|
|
Minimum and Maximum Value
|
|
=========================
|
|
|
|
#34 #8 n:min
|
|
#34 #8 n:max
|