1 USING: kernel namespaces sequences sets sorting vocabs ;
2 USING: arrays assocs generic hashtables
3 math math.intervals math.parser math.order math.functions
4 refs shuffle vectors words ;
5 IN: random-tester.safe-words
11 bits>float bits>double
12 float>bits double>bits
14 >bignum >boolean >fixnum >float
16 array? integer? complex? value-ref? ref? key-ref?
19 [-1,1]? between? bignum? both? either? eq? equal? even? fixnum?
20 float? fp-nan? hashtable? interval-contains? interval-subset?
21 interval? key-ref? key? number? odd? pair? power-of-2?
22 ratio? rational? real? zero? assoc? curry? vector? callstack?
32 all-integers? (all-integers?) ! hangs?
35 (clone) assoc-clone-like ! SYMBOL: foo foo dup (clone) =
40 next-power-of-2 (next-power-of-2)
45 : initialization-words
72 curry 2curry 3curry compose 3compose
81 : bad-words ( -- array )
85 initialization-words %
92 : safe-words ( -- array )
95 "alists" "arrays" "assocs" "bit-arrays" "byte-arrays"
96 ! "classes" "combinators" "compiler" "continuations"
97 ! "core-foundation" "definitions" "documents"
98 ! "float-arrays" "generic" "graphs" "growable"
101 "math.bitfields" "math.complex" "math.constants" "math.floats"
102 "math.functions" "math.integers" "math.intervals" "math.libm"
103 "math.parser" "math.order" "math.ratios" "math.vectors"
106 ! "queues" "strings" "sequences"
110 } [ words ] map concat bad-words diff natural-sort ;
112 safe-words \ safe-words set-global
114 ! foo dup (clone) = .
116 ! f [ byte-array>bignum assoc-clone-like ] compile-1
117 ! 2 3.14 [ number= ] compile-1
118 ! 3.14 [ <vector> assoc? ] compile-1
119 ! -3 [ ] 2 [ byte-array>bignum denominator ] compile-1
120 ! : foo ( x -- y ) euler bitand ; { foo } compile 20 foo