in1 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. print not gt 3 1
  2. make "d read
  3. 1234dd
  4. print isname "d
  5. print :d
  6. make "x eq :d "1234dd
  7. print :x
  8. erase "d
  9. print not isname "d
  10. make "a 2
  11. print isname "a
  12. erase "a
  13. print isname "a
  14. make "a 5
  15. make "b 3
  16. make "c :b
  17. print gt "a "b
  18. print gt :a :b
  19. print lt :a :b
  20. print eq :a :b
  21. print eq :b :c
  22. print and gt :a :b eq :b :c
  23. print or gt :b :a eq :b :c
  24. print not gt :a :b
  25. print or gt :b :a not eq :b :c
  26. make "testlist [print gt :a :b]
  27. run :testlist
  28. make "a 2
  29. run :testlist
  30. make "a 1
  31. run [make "a add :a 1 print :a]
  32. print :a
  33. if gt :a :b [print "A] [print "B]
  34. print if eq :a :b [1] [0]
  35. print isnumber "2
  36. print isnumber "a
  37. print isnumber :a
  38. print isword :a
  39. print isword "a
  40. print islist "testlist
  41. print islist :testlist
  42. print isbool run :testlist
  43. print isempty :testlist
  44. print isempty "a
  45. print isempty "d
  46. make "a 3
  47. make "a add :a 4
  48. make "f [
  49. [a]
  50. [return add mul :a :a 1]
  51. ]
  52. print f 3
  53. make "f
  54. [
  55. []
  56. [print "a]
  57. ]
  58. f
  59. make "n 5
  60. make "f [
  61. [n]
  62. [
  63. if lt :n 2
  64. [return 1]
  65. [return mul :n f sub :n 1]
  66. ]
  67. ]
  68. print f :n
  69. print :n
  70. make "let [
  71. [__a __b]
  72. [
  73. make :__a :__b
  74. export :__a
  75. ]
  76. ]
  77. let "a 6
  78. print :a
  79. make "a 1
  80. make "repeat [
  81. [n s]
  82. [
  83. if eq :n 0
  84. []
  85. [run :s repeat sub :n 1 :s]
  86. ]
  87. ]
  88. repeat 4 [make "a add :a 1]
  89. print :a
  90. make "n 5
  91. make "factorial [
  92. [n]
  93. [
  94. if lt :n 2
  95. [return 1]
  96. [return mul :n factorial sub :n 1]
  97. ]
  98. ]
  99. print factorial :n
  100. print :n
  101. make "gcd [
  102. [a b]
  103. [
  104. if eq :b 0
  105. [return :a]
  106. [return gcd :b mod :a :b]
  107. ]
  108. ]
  109. print gcd 18 14
  110. print gcd 18 13