11entry main (x : u32 ) = x |> i64 .u32 |> iota |> i64 .sum
22
3- entry array_i32 (x : []i32 ) = map (+ 2 ) x ++ x
3+ entry array_i32 (x : []i32 ) = map (+ 2 ) x ++ x
44
5- entry array_f64 (x : []f64 ) = map (+ 2 ) x ++ x
5+ entry array_f64 (x : []f64 ) = map (+ 2 ) x ++ x
66
77entry transpose_i32 (x : [][]i32 ) = transpose x
88
9- entry fails (x : i32 ) = 2 / x
9+ entry fails (x : i32 ) = 2 / x
1010
1111type record = {a : i32 , b : bool }
1212
13- entry mk_record (a : i32 ) (b : bool ) : record = {a ,b }
13+ entry mk_record (a : i32 ) (b : bool ) : record = {a , b }
1414
1515type sum_opaque [n ] = #foo i32 | #bar record | #baz ([n ]i32 ) bool
1616
@@ -19,9 +19,10 @@ entry mk_sum_opaque x : sum_opaque [42] = #foo x
1919entry sum_opaque_size [n ] (_ : sum_opaque [n ]) = n
2020
2121entry sum_opaque_rot (s : sum_opaque []) : ?[n ].sum_opaque [n ] =
22- match s case #foo x -> #bar {a = x , b = true }
23- case #bar {a ,b } -> #baz (replicate 10 a ) b
24- case #baz arr _ -> #foo (i32 .sum arr )
22+ match s
23+ case #foo x -> #bar {a = x , b = true }
24+ case #bar {a , b } -> #baz (replicate 10 a ) b
25+ case #baz arr _ -> #foo (i32 .sum arr )
2526
2627type~ record_with_opaque = {f : sum_opaque []}
2728entry record_with_opaque x : record_with_opaque = {f = mk_sum_opaque x }
@@ -33,3 +34,7 @@ entry mk_record_array_array (xs: [][]i32) (ys: []i32) = zip xs ys
3334entry mk_sum_unnamed (x : i32 ) = #foo x : sum_opaque [2 ]
3435
3536entry mk_opaque_array (x : i32 ) = [#foo x : sum_opaque [2 ]]
37+
38+ type has_unit_arr [n ] = {arr : [n ]()}
39+
40+ entry mk_record_with_unit_arr n : has_unit_arr [n ] = {arr = replicate n ()}
0 commit comments