diff --git a/unittest/core-ast/dune b/unittest/core-ast/dune new file mode 100644 index 00000000..a32c666e --- /dev/null +++ b/unittest/core-ast/dune @@ -0,0 +1,4 @@ +(tests + (names t1) + (flags :standard -open Sidekick_util) + (libraries containers sidekick.util sidekick.core-ast)) diff --git a/unittest/core-ast/t1.expected b/unittest/core-ast/t1.expected new file mode 100644 index 00000000..41db5eae --- /dev/null +++ b/unittest/core-ast/t1.expected @@ -0,0 +1,4 @@ +type0 : type +typeof(type0) : type_1 +type tower: [type;type_1;type_2;type_3;type_4;type_5;type_6;type_7;type_8; + type_9] diff --git a/unittest/core-ast/t1.ml b/unittest/core-ast/t1.ml new file mode 100644 index 00000000..c599fcdf --- /dev/null +++ b/unittest/core-ast/t1.ml @@ -0,0 +1,13 @@ +open Sidekick_core_ast + +let store = Store.create () +let t0 = type_ store +let () = Fmt.printf "type0 : %a@." pp_debug t0 +let () = Fmt.printf "typeof(type0) : %a@." pp_debug (get_ty store t0) + +let l = + CCSeq.unfold (fun ty -> Some (ty, get_ty store ty)) t0 + |> CCSeq.take 10 |> CCSeq.to_list + +let () = Fmt.printf "type tower: %a@." (Fmt.Dump.list pp_debug) l +let () = assert (equal (type_ store) (type_ store))