| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2021-09-04 22:26:09 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2021-09-04 22:26:09 +0200 |
| commit | 050e329f2a2e2367c2e4f1965190b0f6a5addf29 (patch) | |
| tree | b6bf78443e11abda7c41375ee89831bbe0032edb /data | |
| parent | 235dc12bf63220371f2ef4defb1f563830e6719a (diff) | |
The blackjack example works again.parser_rework
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)) ) |


