print not gt 3 1 make "d read 1234dd print isname "d print :d make "x eq :d "1234dd print :x erase "d print not isname "d make "a 2 print isname "a erase "a print isname "a make "a 5 make "b 3 make "c :b print gt "a "b print gt :a :b print lt :a :b print eq :a :b print eq :b :c print and gt :a :b eq :b :c print or gt :b :a eq :b :c print not gt :a :b print or gt :b :a not eq :b :c make "testlist [print gt :a :b] run :testlist make "a 2 run :testlist make "a 1 run [make "a add :a 1 print :a] print :a if gt :a :b [print "A] [print "B] print if eq :a :b [1] [0] print isnumber "2 print isnumber "a print isnumber :a print isword :a print isword "a print islist "testlist print islist :testlist print isbool run :testlist print isempty :testlist print isempty "a print isempty "d make "a 3 make "a add :a 4 make "f [ [a] [return add mul :a :a 1] ] print f 3 make "f [ [] [print "a] ] f make "n 5 make "f [ [n] [ if lt :n 2 [return 1] [return mul :n f sub :n 1] ] ] print f :n print :n make "let [ [__a __b] [ make :__a :__b export :__a ] ] let "a 6 print :a make "a 1 make "repeat [ [n s] [ if eq :n 0 [] [run :s repeat sub :n 1 :s] ] ] repeat 4 [make "a add :a 1] print :a make "n 5 make "factorial [ [n] [ if lt :n 2 [return 1] [return mul :n factorial sub :n 1] ] ] print factorial :n print :n make "gcd [ [a b] [ if eq :b 0 [return :a] [return gcd :b mod :a :b] ] ] print gcd 18 14 print gcd 18 13