1interface lists {
2  list-u8-param: func(x: list<u8>)
3  list-u16-param: func(x: list<u16>)
4  list-u32-param: func(x: list<u32>)
5  list-u64-param: func(x: list<u64>)
6  list-s8-param: func(x: list<s8>)
7  list-s16-param: func(x: list<s16>)
8  list-s32-param: func(x: list<s32>)
9  list-s64-param: func(x: list<s64>)
10  list-float32-param: func(x: list<float32>)
11  list-float64-param: func(x: list<float64>)
12
13  list-u8-ret: func() -> list<u8>
14  list-u16-ret: func() -> list<u16>
15  list-u32-ret: func() -> list<u32>
16  list-u64-ret: func() -> list<u64>
17  list-s8-ret: func() -> list<s8>
18  list-s16-ret: func() -> list<s16>
19  list-s32-ret: func() -> list<s32>
20  list-s64-ret: func() -> list<s64>
21  list-float32-ret: func() -> list<float32>
22  list-float64-ret: func() -> list<float64>
23
24  tuple-list: func(x: list<tuple<u8, s8>>) -> list<tuple<s64, u32>>
25  string-list-arg: func(a: list<string>)
26  string-list-ret: func() -> list<string>
27  tuple-string-list: func(x: list<tuple<u8, string>>) -> list<tuple<string, u8>>
28  string-list: func(x: list<string>) -> list<string>
29
30  record some-record {
31    x: string,
32    y: other-record,
33    z: list<other-record>,
34    c1: u32,
35    c2: u64,
36    c3: s32,
37    c4: s64,
38  }
39  record other-record {
40    a1: u32,
41    a2: u64,
42    a3: s32,
43    a4: s64,
44    b: string,
45    c: list<u8>,
46  }
47  record-list: func(x: list<some-record>) -> list<other-record>
48  record-list-reverse: func(x: list<other-record>) -> list<some-record>
49
50  variant some-variant {
51    a(string),
52    b,
53    c(u32),
54    d(list<other-variant>),
55  }
56  variant other-variant {
57    a,
58    b(u32),
59    c(string),
60  }
61  variant-list: func(x: list<some-variant>) -> list<other-variant>
62
63  type load-store-all-sizes = list<tuple<
64    string,
65    u8,
66    s8,
67    u16,
68    s16,
69    u32,
70    s32,
71    u64,
72    s64,
73    float32,
74    float64,
75    char,
76  >>
77  load-store-everything: func(a: load-store-all-sizes) -> load-store-all-sizes
78}
79
80default world the-lists {
81  import import-lists: self.lists
82  export export-lists: self.lists
83}
84