summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2021-09-04 22:26:09 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2021-09-04 22:26:09 +0200
commit050e329f2a2e2367c2e4f1965190b0f6a5addf29 (patch)
treeb6bf78443e11abda7c41375ee89831bbe0032edb /data
parent235dc12bf63220371f2ef4defb1f563830e6719a (diff)
The blackjack example works again.parser_rework
Diffstat (limited to 'data')
-rw-r--r--data/examples/blackjack/cards.fate14
-rw-r--r--data/examples/blackjack/global.fate10
-rw-r--r--data/examples/blackjack/play.fate32
-rw-r--r--data/unit-testing/access.fate2
-rw-r--r--data/unit-testing/access_constant_index.fate4
-rw-r--r--data/unit-testing/add_element.fate90
-rw-r--r--data/unit-testing/add_element_at.fate34
-rw-r--r--data/unit-testing/add_elements_of.fate32
-rw-r--r--data/unit-testing/cons_car_cdr.fate4
-rw-r--r--data/unit-testing/count.fate68
-rw-r--r--data/unit-testing/field_access.fate4
-rw-r--r--data/unit-testing/filter.fate30
-rw-r--r--data/unit-testing/fold.fate10
-rw-r--r--data/unit-testing/ifelse.fate4
-rw-r--r--data/unit-testing/map.fate16
-rw-r--r--data/unit-testing/merge.fate571
-rw-r--r--data/unit-testing/ptr_and_at.fate4
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))
)