| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/examples/blackjack/cards.fate | 14 | ||||
| -rw-r--r-- | data/examples/blackjack/global.fate | 10 | ||||
| -rw-r--r-- | data/examples/blackjack/play.fate | 32 | ||||
| -rw-r--r-- | data/unit-testing/access.fate | 2 | ||||
| -rw-r--r-- | data/unit-testing/access_constant_index.fate | 4 | ||||
| -rw-r--r-- | data/unit-testing/add_element.fate | 90 | ||||
| -rw-r--r-- | data/unit-testing/add_element_at.fate | 34 | ||||
| -rw-r--r-- | data/unit-testing/add_elements_of.fate | 32 | ||||
| -rw-r--r-- | data/unit-testing/cons_car_cdr.fate | 4 | ||||
| -rw-r--r-- | data/unit-testing/count.fate | 68 | ||||
| -rw-r--r-- | data/unit-testing/field_access.fate | 4 | ||||
| -rw-r--r-- | data/unit-testing/filter.fate | 30 | ||||
| -rw-r--r-- | data/unit-testing/fold.fate | 10 | ||||
| -rw-r--r-- | data/unit-testing/ifelse.fate | 4 | ||||
| -rw-r--r-- | data/unit-testing/map.fate | 16 | ||||
| -rw-r--r-- | data/unit-testing/merge.fate | 571 | ||||
| -rw-r--r-- | data/unit-testing/ptr_and_at.fate | 4 | 
17 files changed, 291 insertions, 638 deletions
| diff --git a/data/examples/blackjack/cards.fate b/data/examples/blackjack/cards.fate index 6868650..7245436 100644 --- a/data/examples/blackjack/cards.fate +++ b/data/examples/blackjack/cards.fate @@ -10,13 +10,13 @@  (set! card_generator     (lambda ( (string family) ) -      (map +      (list:map           (lambda              (                 (int number)                 (string family)              ) -            (set_fields (default card) +            (struct:set_fields (default card)                 (number (var number))                 (name                    (text @@ -33,7 +33,7 @@                 (score (clamp 1 number 10))              )           ) -         (range 1 13 1) +         (list:range 1 13 1)           (var family)        )     ) @@ -41,10 +41,10 @@  (global (list card) deck_template) -(add_all! (eval card_generator Hearts) deck_template) -(add_all! (eval card_generator Spades) deck_template) -(add_all! (eval card_generator Diamonds) deck_template) -(add_all! (eval card_generator Clubs) deck_template) +(list:add_all! (eval card_generator Hearts) deck_template) +(list:add_all! (eval card_generator Spades) deck_template) +(list:add_all! (eval card_generator Diamonds) deck_template) +(list:add_all! (eval card_generator Clubs) deck_template)  (define_sequence compute_score (((ptr (list card)) deck) ((ptr int) result))     (local int aces_count) diff --git a/data/examples/blackjack/global.fate b/data/examples/blackjack/global.fate index d08706b..acf054e 100644 --- a/data/examples/blackjack/global.fate +++ b/data/examples/blackjack/global.fate @@ -15,8 +15,12 @@     )  ) +(global int marker_0) +  (declare_text_effect action_description) +(global int marker_1) +  (define_sequence money_acquisition ((int amount))     (set! player.money (+ player.money amount))     (if (> amount 0) @@ -26,6 +30,8 @@     )  ) +(global int marker_2) +  (define_sequence money_loss ((int amount))     (set! player.money (- player.money amount))     (if (> amount 0) @@ -35,4 +41,8 @@     )  ) +(global int marker_3) +  (declare_input_event escape) + +(global int marker_4) diff --git a/data/examples/blackjack/play.fate b/data/examples/blackjack/play.fate index c914b8f..fd4d65c 100644 --- a/data/examples/blackjack/play.fate +++ b/data/examples/blackjack/play.fate @@ -38,26 +38,26 @@     (newline) -   (set! current_deck (shuffle deck_template)) +   (set! current_deck (list:shuffle deck_template)) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (text_effect action_description        You have been dealt the (var new_card.name).        (newline)     ) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) dealer_hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) dealer_hand)     (text_effect action_description        The dealer has drawn the (var new_card.name).        (newline)     ) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (text_effect action_description        You have been dealt the (var new_card.name). @@ -66,8 +66,8 @@     (newline) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) dealer_hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) dealer_hand)     (text_effect action_description        The dealer has drawn a card, face down. @@ -76,8 +76,8 @@     (visit! initial_draw) -   (clear! dealer_hand) -   (clear! player.hand) +   (list:clear! dealer_hand) +   (list:clear! player.hand)     (newline)     Interesting. Would you like to go again? @@ -177,8 +177,8 @@     (local card new_card)     (local int player_score) -   (pop_left! current_deck (ptr new_card)) -   (add! (var new_card) player.hand) +   (list:pop_left! current_deck new_card) +   (list:add! (var new_card) player.hand)     (visit! compute_score (ptr player.hand) (ptr player_score)) @@ -207,7 +207,7 @@        A bust! What a shame...        (newline)        (visit! money_loss (var bet)) -      (done) +      (done!)     )     (if (var has_doubled) @@ -253,8 +253,8 @@     (while (< dealer_score 17)        (local card new_card) -      (pop_left! current_deck (ptr new_card)) -      (add! (var new_card) dealer_hand) +      (list:pop_left! current_deck new_card) +      (list:add! (var new_card) dealer_hand)        (text_effect action_description           The dealer has drawn the (var new_card.name). diff --git a/data/unit-testing/access.fate b/data/unit-testing/access.fate index e665b69..6079d7d 100644 --- a/data/unit-testing/access.fate +++ b/data/unit-testing/access.fate @@ -3,7 +3,7 @@  (global (list int) li)  (global (ptr (list int)) li_ptr) -(set! li (range 0 10 1)) +(set! li (list:range 0 10 1))  (set! li_ptr (ptr li))  (global int i) diff --git a/data/unit-testing/access_constant_index.fate b/data/unit-testing/access_constant_index.fate index be3c3fa..74bf705 100644 --- a/data/unit-testing/access_constant_index.fate +++ b/data/unit-testing/access_constant_index.fate @@ -7,7 +7,7 @@  (global (list int) li)  (global (ptr (list int)) li_ptr) -(set! li (range 0 10 1)) +(set! li (list:range 0 10 1))  (set! li_ptr (ptr li))  (assert! (= (var li.0) 0) [FAILED] (var test_name) li.0) @@ -38,7 +38,7 @@  (global int i)  (for (set! i 0) (=< i 10) (set! i (+ i 1)) -   (add! (range 0 i 1) lili) +   (add! (list:range 0 i 1) lili)  )  (assert! (= (var lili.10.0) 0) [FAILED] (var test_name) lili.10.0 was (var lili.10.0).) diff --git a/data/unit-testing/add_element.fate b/data/unit-testing/add_element.fate index 299256f..e33d2a4 100644 --- a/data/unit-testing/add_element.fate +++ b/data/unit-testing/add_element.fate @@ -7,19 +7,19 @@  (global (list int) li0)  (global (list int) li1) -(set! li0 (add_element -1 li0)) -(set! li0 (add_element 0 li0)) -(set! li0 (add_element 1 li0)) -(set! li0 (add_element 2 li0)) -(set! li0 (add_element 3 4 5 li0)) -(set! li0 (add_element 6 li0)) - -(add_element! -1 li1) -(add_element! 0 li1) -(add_element! 1 li1) -(add_element! 2 3 4 li1) -(add_element! 5 li1) -(add_element! 6 li1) +(set! li0 (list:add_element -1 li0)) +(set! li0 (list:add_element 0 li0)) +(set! li0 (list:add_element 1 li0)) +(set! li0 (list:add_element 2 li0)) +(set! li0 (list:add_element 3 4 5 li0)) +(set! li0 (list:add_element 6 li0)) + +(list:add_element! -1 li1) +(list:add_element! 0 li1) +(list:add_element! 1 li1) +(list:add_element! 2 3 4 li1) +(list:add_element! 5 li1) +(list:add_element! 6 li1)  (assert! (= (var li0) (var li1)) [FAILED] (var test_name) equality.) @@ -35,14 +35,14 @@  (global (list int) ali0)  (global (list int) ali1) -(set! ali0 (add_element 6 (range -1 5 1))) +(set! ali0 (list:add_element 6 (list:range -1 5 1)))  (set! ali1 -   (add_element 6 -      (add_element 5 -         (add_element 4 -            (add_element 1 2 3 -               (add_element 0 -                  (add_element -1 ali1) +   (list:add_element 6 +      (list:add_element 5 +         (list:add_element 4 +            (list:add_element 1 2 3 +               (list:add_element 0 +                  (list:add_element -1 ali1)                 )              )           ) @@ -58,35 +58,35 @@  (set! si_ptr (ptr si1)) -(set! si0 (add_element 6 si0)) -(set! si0 (add_element 0 si0)) -(set! si0 (add_element 1 4 -1 si0)) -(set! si0 (add_element 5 si0)) -(set! si0 (add_element 3 si0)) -(set! si0 (add_element 2 si0)) +(set! si0 (set:add_element 6 si0)) +(set! si0 (set:add_element 0 si0)) +(set! si0 (set:add_element 1 4 -1 si0)) +(set! si0 (set:add_element 5 si0)) +(set! si0 (set:add_element 3 si0)) +(set! si0 (set:add_element 2 si0)) -(add_element! 4 si1) -(add_element! 0 (at (ptr si1))) -(add_element! 3 -1 2 si1) -(add_element! 6 si1) -(add_element! 1 (at si_ptr)) -(add_element! 5 si1) +(set:add_element! 4 si1) +(set:add_element! 0 (at (ptr si1))) +(set:add_element! 3 -1 2 si1) +(set:add_element! 6 si1) +(set:add_element! 1 (at si_ptr)) +(set:add_element! 5 si1)  (assert! (= (var li0) (var li1) (var ali0) (var ali1) (var si0) (var si1)) [FAILED] (var test_name) equality 3.) -(set! si0 (add_element 0 si0)) -(set! si0 (add_element 4 si0)) -(set! si0 (add_element 6 5 3 si0)) -(set! si0 (add_element -1 si0)) -(set! si0 (add_element 2 si0)) -(set! si0 (add_element 1 si0)) - -(add_element! 4 si1) -(add_element! 1 0 6 si1) -(add_element! -1 si1) -(add_element! 3 si1) -(add_element! 2 si1) -(add_element! 5 si1) +(set! si0 (set:add_element 0 si0)) +(set! si0 (set:add_element 4 si0)) +(set! si0 (set:add_element 6 5 3 si0)) +(set! si0 (set:add_element -1 si0)) +(set! si0 (set:add_element 2 si0)) +(set! si0 (set:add_element 1 si0)) + +(set:add_element! 4 si1) +(set:add_element! 1 0 6 si1) +(set:add_element! -1 si1) +(set:add_element! 3 si1) +(set:add_element! 2 si1) +(set:add_element! 5 si1)  (assert! (= (var li0) (var li1) (var ali0) (var ali1) (var si0) (var si1)) [FAILED] (var test_name) equality 4.) diff --git a/data/unit-testing/add_element_at.fate b/data/unit-testing/add_element_at.fate index a3f73fe..89708eb 100644 --- a/data/unit-testing/add_element_at.fate +++ b/data/unit-testing/add_element_at.fate @@ -7,23 +7,23 @@  (global (list int) li0)  (global (list int) li1) -(set! li0 (add_element_at 0 0 li0)) -(set! li0 (add_element_at 1 1 li0)) -(set! li0 (add_element_at 2 2 li0)) -(set! li0 (add_element_at 0 -1 li0)) -(set! li0 (add_element_at 0 -3 li0)) -(set! li0 (add_element_at 1 -2 li0)) -(set! li0 (add_element_at 44 3 li0)) -(set! li0 (add_element_at -44 -4 li0)) - -(add_element_at! 0 0 li1) -(add_element_at! 1 1 li1) -(add_element_at! 2 2 li1) -(add_element_at! 0 -1 li1) -(add_element_at! 0 -3 li1) -(add_element_at! 1 -2 li1) -(add_element_at! 44 3 li1) -(add_element_at! -44 -4 li1) +(set! li0 (list:add_element_at 0 0 li0)) +(set! li0 (list:add_element_at 1 1 li0)) +(set! li0 (list:add_element_at 2 2 li0)) +(set! li0 (list:add_element_at 0 -1 li0)) +(set! li0 (list:add_element_at 0 -3 li0)) +(set! li0 (list:add_element_at 1 -2 li0)) +(set! li0 (list:add_element_at 44 3 li0)) +(set! li0 (list:add_element_at -44 -4 li0)) + +(list:add_element_at! 0 0 li1) +(list:add_element_at! 1 1 li1) +(list:add_element_at! 2 2 li1) +(list:add_element_at! 0 -1 li1) +(list:add_element_at! 0 -3 li1) +(list:add_element_at! 1 -2 li1) +(list:add_element_at! 44 3 li1) +(list:add_element_at! -44 -4 li1)  (assert! (= (var li0) (var li1)) [FAILED] (var test_name) equality.) diff --git a/data/unit-testing/add_elements_of.fate b/data/unit-testing/add_elements_of.fate index fb47a38..190929a 100644 --- a/data/unit-testing/add_elements_of.fate +++ b/data/unit-testing/add_elements_of.fate @@ -8,18 +8,18 @@  (global (list int) li1)  (set! li0 -   (add_all (range 8 10 1) -      (add_all (range 4 7 1) -         (add_all (range 0 3 1) +   (list:add_all (list:range 8 10 1) +      (list:add_all (list:range 4 7 1) +         (list:add_all (list:range 0 3 1)              (default (list int))           )        )     )  ) -(add_all! (range 0 3 1) li1) -(add_all! (range 4 7 1) (at (ptr li1))) -(add_all! (range 8 10 1) li1) +(list:add_all! (list:range 0 3 1) li1) +(list:add_all! (list:range 4 7 1) (at (ptr li1))) +(list:add_all! (list:range 8 10 1) li1)  (assert! (= (var li0) (var li1)) [FAILED] (var test_name) equality.) @@ -32,17 +32,17 @@  (assert! (= (var li0.6) (var li1.6) 6) [FAILED] (var test_name) at 6: (var li0.6), (var li1.6).)  (assert! (= (var li0.7) (var li1.7) 7) [FAILED] (var test_name) at 7: (var li0.7), (var li1.7).) -(add_all! (range 11 20 1) li0) -(add_all! (range 11 20 1) li1) +(list:add_all! (list:range 11 20 1) li0) +(list:add_all! (list:range 11 20 1) li1)  (global (set int) si0)  (global (set int) si1)  (set! si0 -   (add_all (range 0 10 2) -      (add_all (range 11 20 2) -         (add_all (range 1 10 2) -            (add_all (range 12 20 2) +   (set:add_all (list:range 0 10 2) +      (set:add_all (list:range 11 20 2) +         (set:add_all (list:range 1 10 2) +            (set:add_all (list:range 12 20 2)                 (default (set int))              )           ) @@ -50,10 +50,10 @@     )  ) -(add_all! (range 0 10 2) si1) -(add_all! (range 11 20 2) (at (ptr si1))) -(add_all! (range 1 10 2) si1) -(add_all! (range 12 20 2) si1) +(set:add_all! (list:range 0 10 2) si1) +(set:add_all! (list:range 11 20 2) (at (ptr si1))) +(set:add_all! (list:range 1 10 2) si1) +(set:add_all! (list:range 12 20 2) si1)  (assert! (= (var li0) (var li1) (var si0) (var si1)) [FAILED] (var test_name) equality 2.) diff --git a/data/unit-testing/cons_car_cdr.fate b/data/unit-testing/cons_car_cdr.fate index a555cc0..885e4e4 100644 --- a/data/unit-testing/cons_car_cdr.fate +++ b/data/unit-testing/cons_car_cdr.fate @@ -28,7 +28,7 @@     (cdr (cdr (cdr (cdr (cons 1 (cons 2 (cons 3 (cons 4 5)))))))).  ) -(assert! (= (car (cons test 0)) test) +(assert! (= (car (cons test 0)) (string test))     [FAILED] (var test_name) test string:     (car (cons test 0))  ) @@ -39,7 +39,7 @@  (set! cfs (cons 3.14 pi))  (assert! (= (car cfs) 3.14) [FAILED] (var test_name) test 3.14: (car cfs).) -(assert! (= (cdr cfs) pi) [FAILED] (var test_name) test pi: (cdr cfs).) +(assert! (= (cdr cfs) (string pi)) [FAILED] (var test_name) test pi: (cdr cfs).)  (set! cfs2 (cons (car cfs) (cdr cfs))) diff --git a/data/unit-testing/count.fate b/data/unit-testing/count.fate index 2c54998..05a8c59 100644 --- a/data/unit-testing/count.fate +++ b/data/unit-testing/count.fate @@ -4,57 +4,57 @@  (set! test_name ( COUNT )) -(assert! (= (count 10 (range 0 60 1)) 1) -   [FAILED] (var test_name) Failed to find 10 in range 0 60 1. +(assert! (= (list:count 10 (list:range 0 60 1)) 1) +   [FAILED] (var test_name) Failed to find 10 in list:range 0 60 1.  )  (global (list int) li) -(add_all! (range 0 10 1) li) -(add_all! (range 0 10 1) li) -(add_all! (range 0 10 1) li) -(add_all! (range 0 10 1) li) +(list:add_all! (list:range 0 10 1) li) +(list:add_all! (list:range 0 10 1) li) +(list:add_all! (list:range 0 10 1) li) +(list:add_all! (list:range 0 10 1) li) -(assert! (= (count 10 li) 4) +(assert! (= (list:count 10 li) 4)     [FAILED] (var test_name) Failed to find 10 four times in li.  )  (global (set int) si) -(add_all! (range 0 10 1) si) -(add_all! (range 0 10 1) si) -(add_all! (range 0 10 1) si) -(add_all! (range 0 10 1) si) +(list:add_all! (list:range 0 10 1) si) +(list:add_all! (list:range 0 10 1) si) +(list:add_all! (list:range 0 10 1) si) +(list:add_all! (list:range 0 10 1) si) -(assert! (= (count 10 si) 1) +(assert! (= (set:count 10 si) 1)     [FAILED] (var test_name) Failed to find 10 exactly once in si.  )  (global (list string) ls) -(add! test0 ls) -(add! test1 ls) -(add! test2 ls) -(add! test3 ls) +(list:add! test0 ls) +(list:add! test1 ls) +(list:add! test2 ls) +(list:add! test3 ls) -(assert! (= (count test0 ls) 1) +(assert! (= (list:count test0 ls) 1)     [FAILED] (var test_name) Failed to find test0 exactly once in ls.  ) -(add! test0 ls) -(add! test1 ls) -(add! test2 ls) -(add! test3 ls) -(add! test0 ls) -(add! test1 ls) -(add! test2 ls) -(add! test3 ls) -(add! test0 ls) -(add! test1 ls) -(add! test2 ls) -(add! test3 ls) - -(assert! (= (count test0 ls) 4) +(list:add! test0 ls) +(list:add! test1 ls) +(list:add! test2 ls) +(list:add! test3 ls) +(list:add! test0 ls) +(list:add! test1 ls) +(list:add! test2 ls) +(list:add! test3 ls) +(list:add! test0 ls) +(list:add! test1 ls) +(list:add! test2 ls) +(list:add! test3 ls) + +(assert! (= (list:count test0 ls) 4)     [FAILED] (var test_name) Failed to find test0 four times in ls.  ) @@ -62,14 +62,14 @@  (local int i)  (for (set! i 0) (=< i 10) (set! i (+ i 1)) -   (add! (= (mod i 2) 0) lb) +   (list:add! (= (mod i 2) 0) lb)  ) -(assert! (= (count (true) lb) 6) +(assert! (= (list:count (true) lb) 6)     [FAILED] (var test_name) Failed to find six even numbers.  ) -(assert! (= (count (false) lb) 5) +(assert! (= (list:count (false) lb) 5)     [FAILED] (var test_name) Failed to find four odd numbers.  ) diff --git a/data/unit-testing/field_access.fate b/data/unit-testing/field_access.fate index eaedc3a..d9d582a 100644 --- a/data/unit-testing/field_access.fate +++ b/data/unit-testing/field_access.fate @@ -34,7 +34,7 @@     (i 42)     (j 69)     (k 420) -   (li (range 0 10 1)) +   (li (list:range 0 10 1))  )  (set_fields! ts0_1 @@ -44,7 +44,7 @@     (k 42)     (j 69)     (i 420) -   (li (range 11 20 1)) +   (li (list:range 11 20 1))  )  (set_fields! ts1_0 diff --git a/data/unit-testing/filter.fate b/data/unit-testing/filter.fate index 7fc1ea8..ce202e7 100644 --- a/data/unit-testing/filter.fate +++ b/data/unit-testing/filter.fate @@ -8,10 +8,10 @@  (global (list int) 0to10odd)  (global (list int) 0to10even) -(set! 0to10 (range 0 10 1)) +(set! 0to10 (list:range 0 10 1))  (set! 0to10odd -   (filter +   (list:filter        (lambda ((int i) (int two) (int one)) (= (mod i two) (var one)))        0to10        2 @@ -21,9 +21,11 @@  (local (lambda bool (int)) filter_fun) +(global (list int) 0to10evena)  (set! filter_fun (lambda ((int i)) (= (mod i 2) 0))) +(global (list int) 0to10eveno)  (set! 0to10even -   (filter filter_fun 0to10) +   (list:filter filter_fun 0to10)  )  (assert! @@ -87,14 +89,14 @@  (set! 0to10odd2 (var 0to10))  (set! 0to10even2 (var 0to10)) -(filter! +(list:filter!     (lambda ((int i) (int two) (int one)) (= (mod i two) (var one)))     0to10odd2     2     1  ) -(filter! filter_fun 0to10even2) +(list:filter! filter_fun 0to10even2)  (assert!     (= 0 (var 0to10even2.0)) @@ -152,7 +154,7 @@  )  (set! 0to10odd -   (indexed_filter +   (list:indexed_filter        (lambda ((int ix) (int i) (int two) (int one)) (= (mod i two) (var one)))        0to10        2 @@ -163,7 +165,7 @@  (local (lambda bool (int int)) indexed_filter_fun)  (set! indexed_filter_fun (lambda ((int ix) (int i)) (= (mod i 2) 0))) -(set! 0to10even (indexed_filter indexed_filter_fun 0to10)) +(set! 0to10even (list:indexed_filter indexed_filter_fun 0to10))  (assert!     (= 0 (var 0to10even.0)) @@ -223,14 +225,14 @@  (set! 0to10odd2 (var 0to10))  (set! 0to10even2 (var 0to10)) -(indexed_filter! +(list:indexed_filter!     (lambda ((int ix) (int i) (int two) (int one)) (= (mod i two) (var one)))     0to10odd2     2     1  ) -(indexed_filter! indexed_filter_fun 0to10even2) +(list:indexed_filter! indexed_filter_fun 0to10even2)  (assert!     (= 0 (var 0to10even2.0)) @@ -290,11 +292,11 @@  (global (list int) oli0)  (global (list int) oli1) -(set! oli0 (range -10 10 1)) +(set! oli0 (list:range -10 10 1))  (set! oli1 (var oli0))  (set! oli0 -   (indexed_filter +   (list:indexed_filter        (lambda ((int ix) (int i))           (exactly_one              (> i 0) @@ -305,15 +307,15 @@     )  ) -(indexed_filter! +(list:indexed_filter!     (lambda ((int ix) (int i) ((list int) o))        (exactly_one           (> i 0) -         (is_member (var ix) o) +         (list:is_member (var ix) o)        )     )     oli1 -   (range 1 21 2) +   (list:range 1 21 2)  )  (assert! diff --git a/data/unit-testing/fold.fate b/data/unit-testing/fold.fate index 662ec3c..fdb941f 100644 --- a/data/unit-testing/fold.fate +++ b/data/unit-testing/fold.fate @@ -6,7 +6,7 @@  (global (list int) 0to10) -(set! 0to10 (range 0 10 1)) +(set! 0to10 (list:range 0 10 1))  (assert!     (= 55 @@ -47,7 +47,7 @@           (add (- e 10) res)        )        (default (list int)) -      (range 10 20 1) +      (list:range 10 20 1)     )  ) @@ -57,7 +57,7 @@           (add (- e mod) res)        )        (default (list int)) -      (range 10 20 1) +      (list:range 10 20 1)        10     )  ) @@ -137,7 +137,7 @@           (add (- e 10) res)        )        (default (list int)) -      (range 20 30 1) +      (list:range 20 30 1)     )  ) @@ -147,7 +147,7 @@           (add (- e mod) res)        )        (default (list int)) -      (range 20 30 1) +      (list:range 20 30 1)        10     )  ) diff --git a/data/unit-testing/ifelse.fate b/data/unit-testing/ifelse.fate index 65a228f..3b67540 100644 --- a/data/unit-testing/ifelse.fate +++ b/data/unit-testing/ifelse.fate @@ -10,7 +10,6 @@     (assert! (false) [FAILED] (var test_name) Executing dead code 0.)  ) -  (set! test (false))  (ifelse (false) @@ -18,6 +17,7 @@     (set! test (true))  ) +  (assert! test [FAILED] (var test_name) ignored valid branch 0.)  (if (false) @@ -27,12 +27,14 @@  (assert! test [FAILED] (var test_name) Executing dead code 3.) +(global string st_name)  (set! test     (ifelse (false)        (false)        (true)     )  ) +(global string tt_name)  (assert! test [FAILED] (var test_name) Executing dead code 4.) diff --git a/data/unit-testing/map.fate b/data/unit-testing/map.fate index 3d6c16c..4659e96 100644 --- a/data/unit-testing/map.fate +++ b/data/unit-testing/map.fate @@ -12,11 +12,11 @@  (set! li0     (map        (lambda ((int i)) (* i 2)) -      (range 0 10 1) +      (list:range 0 10 1)     )  ) -(set! li1 (range 0 10 1)) +(set! li1 (list:range 0 10 1))  (map!     (lambda ((int i)) (* i 2)) @@ -26,12 +26,12 @@  (set! li2     (map        (lambda ((int i) (int mod)) (* i mod)) -      (range 0 10 1) +      (list:range 0 10 1)        2     )  ) -(set! li3 (range 0 10 1)) +(set! li3 (list:range 0 10 1))  (map!     (lambda ((int i) (int mod)) (* i mod)) @@ -99,11 +99,11 @@  (set! li0     (indexed_map        (lambda ((int ix) (int i)) (+ (* i ix) 1000)) -      (range 10 20 1) +      (list:range 10 20 1)     )  ) -(set! li1 (range 10 20 1)) +(set! li1 (list:range 10 20 1))  (indexed_map!     (lambda ((int ix) (int i)) (+ (* i ix) 1000)) @@ -113,12 +113,12 @@  (set! li2     (indexed_map        (lambda ((int ix) (int i) (int mod)) (+ (* i ix) mod)) -      (range 10 20 1) +      (list:range 10 20 1)        1000     )  ) -(set! li3 (range 10 20 1)) +(set! li3 (list:range 10 20 1))  (indexed_map!     (lambda ((int ix) (int i) (int mod)) (+ (* i ix) mod)) diff --git a/data/unit-testing/merge.fate b/data/unit-testing/merge.fate index 4989b47..2d71db8 100644 --- a/data/unit-testing/merge.fate +++ b/data/unit-testing/merge.fate @@ -20,7 +20,7 @@  (global (list int) li1ob)  (set! li0 -   (merge_to_list +   (list:merge        (lambda           (              (int a) @@ -28,13 +28,13 @@           )           (- b a)        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)     )  )  (set! li0oa -   (merge_to_list +   (list:merge        (lambda           (              (int a) @@ -42,13 +42,13 @@           )           (- b a)        ) -      (range 0 60 2) -      (range 10 70 1) +      (list:range 0 60 2) +      (list:range 10 70 1)     )  )  (set! li0ob -   (merge_to_list +   (list:merge        (lambda           (              (int a) @@ -56,53 +56,13 @@           )           (- b a)        ) -      (range 0 80 2) -      (range 10 40 1) +      (list:range 0 80 2) +      (list:range 10 40 1)     )  ) -(set! li1 (range 10 40 1)) -(set! li1oa (range 10 60 1)) -(set! li1ob (range 10 40 1)) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) -   ) -   (range 0 60 2) -   li1 -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) -   ) -   (range 0 60 2) -   li1oa -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) -   ) -   (range 0 160 2) -   li1ob -) -  (assert! -   (= (var li1) (var li0) (var li0oa) (var li0ob) (var li1oa) (var li1ob)) +   (= (var li0) (var li0oa) (var li0ob))     [FAILED] (var test_name) Equality test 0.  ) @@ -110,21 +70,15 @@     (assert!        (=           (- (+ 10 i) (* 2 i)) -         (access i li0) -         (access i li0oa) -         (access i li0ob) -         (access i li1) -         (access i li1oa) -         (access i li1ob) +         (list:access i li0) +         (list:access i li0oa) +         (list:access i li0ob)        )        [FAILED] (var test_name) Basic test 0, index (var i), values:        Expected: (- (+ 10 i) (* 2 i)); -      li0: (access i li0); -      li0oa: (access i li0oa); -      li0ob: (access i li0ob); -      li1: (access i li1); -      li1oa: (access i li1oa); -      li1ob: (access i li1ob) +      li0: (list:access i li0); +      li0oa: (list:access i li0oa); +      li0ob: (list:access i li0ob);     )  ) @@ -134,12 +88,9 @@  (global (set int) si0)  (global (set int) si0oa)  (global (set int) si0ob) -(global (set int) si1) -(global (set int) si1oa) -(global (set int) si1ob)  (set! si0 -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -147,13 +98,13 @@           )           (- b a)        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)     )  )  (set! si0oa -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -161,13 +112,13 @@           )           (- b a)        ) -      (range 0 60 2) -      (range 10 70 1) +      (list:range 0 60 2) +      (list:range 10 70 1)     )  )  (set! si0ob -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -175,53 +126,13 @@           )           (- b a)        ) -      (range 0 80 2) -      (range 10 40 1) -   ) -) - -(add_all! (range 10 40 1) si1) -(add_all! (range 10 60 1) si1oa) -(add_all! (range 10 40 1) si1ob) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) -   ) -   (range 0 60 2) -   si1 -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) -   ) -   (range 0 60 2) -   si1oa -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -      ) -      (- b a) +      (list:range 0 80 2) +      (list:range 10 40 1)     ) -   (range 0 80 2) -   si1ob  )  (assert! -   (= (var si0) (var si0oa) (var si0ob) (var si1) (var si1oa) (var si1ob)) +   (= (var si0) (var si0oa) (var si0ob))     [FAILED] (var test_name) Equality test 1.  ) @@ -238,21 +149,15 @@     (assert!        (=           (- (+ 10 j) (* 2 j)) -         (access i si0) -         (access i si0oa) -         (access i si0ob) -         (access i si1) -         (access i si1oa) -         (access i si1ob) +         (set:access i si0) +         (set:access i si0oa) +         (set:access i si0ob)        )        [FAILED] (var test_name) Basic test 1, index (var i), values:        Expected: (- (+ 10 j) (* 2 j)); -      si0: (access i si0); -      si0oa: (access i si0oa); -      si0ob: (access i si0ob); -      si1: (access i si1); -      si1oa: (access i si1oa); -      si1ob: (access i si1ob); +      si0: (set:access i si0); +      si0oa: (set:access i si0oa); +      si0ob: (set:access i si0ob);     )  ) @@ -262,12 +167,9 @@  (global (set int) si2)  (global (set int) si2oa)  (global (set int) si2ob) -(global (set int) si3) -(global (set int) si3oa) -(global (set int) si3ob)  (set! si2 -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -276,14 +178,14 @@           )           (* (- b a) mod)        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)        -1     )  )  (set! si2oa -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -292,14 +194,14 @@           )           (* (- b a) mod)        ) -      (range 0 60 2) -      (range 10 80 1) +      (list:range 0 60 2) +      (list:range 10 80 1)        -1     )  )  (set! si2ob -   (merge_to_set +   (set:merge        (lambda           (              (int a) @@ -308,60 +210,14 @@           )           (* (- b a) mod)        ) -      (range 0 80 2) -      (range 10 40 1) +      (list:range 0 80 2) +      (list:range 10 40 1)        -1     )  ) -(add_all! (range 10 40 1) si3) -(add_all! (range 10 80 1) si3oa) -(add_all! (range 10 40 1) si3ob) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod) -   ) -   (range 0 60 2) -   si3 -   -1 -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod) -   ) -   (range 0 60 2) -   si3oa -   -1 -) - -(merge! -   (lambda -      ( -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod) -   ) -   (range 0 90 2) -   si3ob -   -1 -) -  (assert! -   (= (var si2) (var si2oa) (var si2ob) (var si3) (var si3oa) (var si3ob)) +   (= (var si2) (var si2oa) (var si2ob))     [FAILED] (var test_name) Equality test 2.  ) @@ -372,21 +228,15 @@     (assert!        (=           (* (- (+ 10 i) (* 2 i)) -1) -         (access i si2) -         (access i si2oa) -         (access i si2ob) -         (access i si3) -         (access i si3oa) -         (access i si3ob) +         (set:access i si2) +         (set:access i si2oa) +         (set:access i si2ob)        )        [FAILED] (var test_name) Basic test 2, index (var i), values:        Expected: (* (- (+ 10 i) (* 2 i)) -1); -      si2: (access i si2); -      si2oa: (access i si2oa); -      si2ob: (access i si2ob); -      si3: (access i si3); -      si3oa: (access i si3oa); -      si3ob: (access i si3ob) +      si2: (set:access i si2); +      si2oa: (set:access i si2oa); +      si2ob: (set:access i si2ob);     )  ) @@ -396,12 +246,9 @@  (global (list int) ili0)  (global (list int) ili0oa)  (global (list int) ili0ob) -(global (list int) ili1) -(global (list int) ili1oa) -(global (list int) ili1ob)  (set! ili0 -   (indexed_merge_to_list +   (list:indexed_merge        (lambda           (              (int i) @@ -410,13 +257,13 @@           )           (* (- b a) i)        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)     )  )  (set! ili0oa -   (indexed_merge_to_list +   (list:indexed_merge        (lambda           (              (int i) @@ -425,13 +272,13 @@           )           (* (- b a) i)        ) -      (range 0 60 2) -      (range 10 70 1) +      (list:range 0 60 2) +      (list:range 10 70 1)     )  )  (set! ili0ob -   (indexed_merge_to_list +   (list:indexed_merge        (lambda           (              (int i) @@ -440,56 +287,13 @@           )           (* (- b a) i)        ) -      (range 0 80 2) -      (range 10 40 1) -   ) -) - -(set! ili1 (range 10 40 1)) -(set! ili1oa (range 10 60 1)) -(set! ili1ob (range 10 40 1)) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) i) -   ) -   (range 0 60 2) -   ili1 -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) i) -   ) -   (range 0 60 2) -   ili1oa -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) i) +      (list:range 0 80 2) +      (list:range 10 40 1)     ) -   (range 0 160 2) -   ili1ob  )  (assert! -   (= (var ili1) (var ili0) (var ili0oa) (var ili0ob) (var ili1oa) (var ili1ob)) +   (= (var ili0) (var ili0oa) (var ili0ob))     [FAILED] (var test_name) Equality test indexed 0.  ) @@ -497,21 +301,15 @@     (assert!        (=           (* (- (+ 10 i) (* 2 i)) i) -         (access i ili0) -         (access i ili0oa) -         (access i ili0ob) -         (access i ili1) -         (access i ili1oa) -         (access i ili1ob) +         (list:access i ili0) +         (list:access i ili0oa) +         (list:access i ili0ob)        )        [FAILED] (var test_name) Indexed test 0, index (var i), values:        Expected: (* (- (+ 10 i) (* 2 i)) i); -      ili0: (access i ili0); -      ili0oa: (access i ili0oa); -      ili0ob: (access i ili0ob); -      ili1: (access i ili1); -      ili1oa: (access i ili1oa); -      ili1ob: (access i ili1ob) +      ili0: (list:access i ili0); +      ili0oa: (list:access i ili0oa); +      ili0ob: (list:access i ili0ob);     )  ) @@ -523,18 +321,15 @@ For reference, the values found in the sets are:     (local int o)     (set! o (* (- (+ 10 i) (* 2 i)) (+ i 1)))     (var o) (newline) -   (add! (var o) oracle_set) +   (set:add! (var o) oracle_set)  )  (global (set int) isi0)  (global (set int) isi0oa)  (global (set int) isi0ob) -(global (set int) isi1) -(global (set int) isi1oa) -(global (set int) isi1ob)  (set! isi0 -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -543,13 +338,13 @@ For reference, the values found in the sets are:           )           (* (- b a) (+ i 1))        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)     )  )  (set! isi0oa -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -558,13 +353,13 @@ For reference, the values found in the sets are:           )           (* (- b a) (+ i 1))        ) -      (range 0 60 2) -      (range 10 70 1) +      (list:range 0 60 2) +      (list:range 10 70 1)     )  )  (set! isi0ob -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -573,82 +368,33 @@ For reference, the values found in the sets are:           )           (* (- b a) (+ i 1))        ) -      (range 0 80 2) -      (range 10 40 1) +      (list:range 0 80 2) +      (list:range 10 40 1)     )  ) -(add_all! (range 10 40 1) isi1) -(add_all! (range 10 60 1) isi1oa) -(add_all! (range 10 40 1) isi1ob) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) (+ i 1)) -   ) -   (range 0 60 2) -   isi1 -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) (+ i 1)) -   ) -   (range 0 60 2) -   isi1oa -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -      ) -      (* (- b a) (+ i 1)) -   ) -   (range 0 80 2) -   isi1ob -) -  (assert! -   (= (var isi0) (var isi0oa) (var isi0ob) (var isi1) (var isi1oa) (var isi1ob)) +   (= (var isi0) (var isi0oa) (var isi0ob))     [FAILED] (var test_name) Equality test indexed 1.  ) -(for (set! i (- (size oracle_set) 1)) (>= i 0) (set! i (- i 1)) +(for (set! i (- (set:size oracle_set) 1)) (>= i 0) (set! i (- i 1))     (assert!        (= -         (access i oracle_set) -         (access i isi0) -         (access i isi0oa) -         (access i isi0ob) -         (access i isi1) -         (access i isi1oa) -         (access i isi1ob) +         (set:access i oracle_set) +         (set:access i isi0) +         (set:access i isi0oa) +         (set:access i isi0ob)        )        [FAILED] (var test_name) Indexed test 1, index (var i), values: -      Expected: (access i oracle_set); -      isi0: (access i isi0); -      isi0oa: (access i isi0oa); -      isi0ob: (access i isi0ob); -      isi1: (access i isi1); -      isi1oa: (access i isi1oa); -      isi1ob: (access i isi1ob); +      Expected: (set:access i oracle_set); +      isi0: (set:access i isi0); +      isi0oa: (set:access i isi0oa); +      isi0ob: (set:access i isi0ob);     )  ) -(clear! oracle_set) +(set:clear! oracle_set)  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  ;;; INDEXED TEST 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -659,7 +405,7 @@ For reference, the values found in the sets are:     (local int o)     (set! o (* (- (+ 10 i) (* 2 i)) -1 (+ i 1)))     (var o) (newline) -   (add! (var o) oracle_set) +   (set:add! (var o) oracle_set)  )  (global (set int) isi2) @@ -670,7 +416,7 @@ For reference, the values found in the sets are:  (global (set int) isi3ob)  (set! isi2 -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -680,14 +426,14 @@ For reference, the values found in the sets are:           )           (* (* (- b a) mod) (+ i 1))        ) -      (range 0 60 2) -      (range 10 40 1) +      (list:range 0 60 2) +      (list:range 10 40 1)        -1     )  )  (set! isi2oa -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -697,14 +443,14 @@ For reference, the values found in the sets are:           )           (* (* (- b a) mod) (+ i 1))        ) -      (range 0 60 2) -      (range 10 80 1) +      (list:range 0 60 2) +      (list:range 10 80 1)        -1     )  )  (set! isi2ob -   (indexed_merge_to_set +   (set:indexed_merge        (lambda           (              (int i) @@ -714,140 +460,33 @@ For reference, the values found in the sets are:           )           (* (- b a) mod (+ i 1))        ) -      (range 0 80 2) -      (range 10 40 1) +      (list:range 0 80 2) +      (list:range 10 40 1)        -1     )  ) -(add_all! (range 10 40 1) isi3) -(add_all! (range 10 80 1) isi3oa) -(add_all! (range 10 40 1) isi3ob) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod (+ i 1)) -   ) -   (range 0 60 2) -   isi3 -   -1 -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod (+ i 1)) -   ) -   (range 0 60 2) -   isi3oa -   -1 -) - -(indexed_merge! -   (lambda -      ( -         (int i) -         (int a) -         (int b) -         (int mod) -      ) -      (* (- b a) mod (+ i 1)) -   ) -   (range 0 90 2) -   isi3ob -   -1 -) -  (assert! -   (= (var isi2) (var isi2oa) (var isi2ob) (var isi3) (var isi3oa) (var isi3ob)) +   (= (var isi2) (var isi2oa) (var isi2ob))     [FAILED] (var test_name) Equality test indexed 2.  ) -(for (set! i (- (size oracle_set) 1)) (>= i 0) (set! i (- i 1)) +(for (set! i (- (set:size oracle_set) 1)) (>= i 0) (set! i (- i 1))     (assert!        (= -         (access i oracle_set) -         (access i isi2) -         (access i isi2oa) -         (access i isi2ob) -         (access i isi3) -         (access i isi3oa) -         (access i isi3ob) +         (set:access i oracle_set) +         (set:access i isi2) +         (set:access i isi2oa) +         (set:access i isi2ob)        )        [FAILED] (var test_name) Indexed test 2, index (var i), values: -      Expected: (access i oracle_set); -      isi2: (access i isi2); -      isi2oa: (access i isi2oa); -      isi2ob: (access i isi2ob); -      isi3: (access i isi3); -      isi3oa: (access i isi3oa); -      isi3ob: (access i isi3ob) +      Expected: (set:access i oracle_set); +      isi2: (set:access i isi2); +      isi2oa: (set:access i isi2oa); +      isi2ob: (set:access i isi2ob);     )  ) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; SAFE TEST 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(global (list int) sli0) -(global (list int) sli1) -(global (list int) sli2) -(global (list int) sli3) - -(set! sli0 -   (safe_merge_to_list -      (lambda -         ( -            (int a) -            (int b) -         ) -         (- a b) -      ) -      999 -      (range 0 10 1) -      1 -      (default (list int)) -   ) -) - -(set! sli1 -   (safe_merge_to_list -      (lambda -         ( -            (int a) -            (int b) -         ) -         (- b a) -      ) -      1 -      (default (list int)) -      999 -      (range 0 10 1) -   ) -) - -(for (set! i 0) (=< i 10) (set! i (+ i 1)) -   (assert! -      (= (access i sli0) (access i sli1) (- i 1)) -      [FAILED] (var test_name) Equality test safe 0. -   ) -) - -(assert! -   (= (var sli0) (var sli1)) -   [FAILED] (var test_name) Equality test safe 0. -) -  [COMPLETED] (var test_name)  (end!) diff --git a/data/unit-testing/ptr_and_at.fate b/data/unit-testing/ptr_and_at.fate index 4ccaa26..9b12862 100644 --- a/data/unit-testing/ptr_and_at.fate +++ b/data/unit-testing/ptr_and_at.fate @@ -71,12 +71,12 @@  (global test_struct0 ts0) -(set_fields! ts0 +(struct:set_fields! ts0     (int0 3)     (int1 40)     (int_ptr0 (ptr ts0.int0))     (int_ptr1 (ptr ts0.int1)) -   (int_list (range 0 10 1)) +   (int_list (list:range 0 10 1))     (int_ptr_list_ptr (ptr ts0.int_ptr_list))  ) | 


