2 USING: fry tools.test math prettyprint kernel io arrays
3 sequences eval accessors ;
5 [ [ 3 + ] ] [ 3 '[ _ + ] ] unit-test
7 [ [ 1 3 + ] ] [ 1 3 '[ _ _ + ] ] unit-test
9 [ [ 1 [ + ] call ] ] [ 1 [ + ] '[ _ @ ] ] unit-test
11 [ [ 1 [ + ] call . ] ] [ 1 [ + ] '[ _ @ . ] ] unit-test
13 [ [ [ + ] [ - ] [ call ] dip call ] ] [ [ + ] [ - ] '[ @ @ ] ] unit-test
15 [ [ "a" "b" [ write ] dip print ] ]
16 [ "a" "b" '[ _ write _ print ] ] unit-test
19 1 '[ [ _ ] dip / ] 2 swap call
22 [ { { 1 "a" "A" } { 1 "b" "B" } { 1 "c" "C" } } ] [
23 1 '[ [ _ ] 2dip 3array ]
24 { "a" "b" "c" } { "A" "B" "C" } rot 2map
27 [ { { 1 "a" } { 1 "b" } { 1 "c" } } ] [
29 { "a" "b" "c" } swap map
32 [ { { 1 "a" 2 } { 1 "b" 2 } { 1 "c" 2 } } ] [
33 1 2 '[ [ _ ] dip _ 3array ]
34 { "a" "b" "c" } swap map
37 : funny-dip '[ [ @ ] dip ] call ; inline
39 [ "hi" 3 ] [ "h" "i" 3 [ append ] funny-dip ] unit-test
42 3 1 '[ _ [ _ + ] map ] call
45 [ { 1 { 2 { 3 } } } ] [
46 1 2 3 '[ _ [ _ [ _ 1array ] call 2array ] call 2array ] call
49 { 1 1 } [ '[ [ [ _ ] ] ] ] must-infer-as
52 3 '[ [ [ _ 1array ] call 1array ] call 1array ] call
56 3 '[ [ [ _ 1array ] call 1array ] call 1array ] call
59 [ "USING: fry locals.backend ; f '[ load-local _ ]" eval ]
60 [ error>> >r/r>-in-fry-error? ] must-fail-with
62 [ { { "a" 1 } { "b" 2 } { "c" 3 } { "d" 4 } } ] [
63 1 2 3 4 '[ "a" _ 2array "b" _ 2array "c" _ 2array "d" _ 2array 4array ] call