diff options
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -2,17 +2,30 @@ #include "moonshine.h" -datatype(binarytree, ((leaf, int), (node, binarytree *, int, binarytree *) )); +const enum { test_datatype, test_linkedlist } current_test = test_linkedlist; int main() { - const auto tree = instance(binarytree, leaf, 3); + if (current_test == test_datatype) { + datatype(binarytree, ((leaf, int), (node, binarytree *, int, binarytree *) )); + const auto tree = instance(binarytree, leaf, 3); - print(&tree); + print(&tree); - match(tree) { - of(leaf, v) print("Leafy ", v); - of(node, _, v, _) print("Nodey ", v); - other() print("Idk man"); + match(tree) { + of(leaf, v) print("Leafy ", v); + of(node, _, v, _) print("Nodey ", v); + other() print("Idk man"); + } + } else if (current_test == test_linkedlist) { + const auto ll = create_linkedlist(); + + for (u8 i = 0; i < 100; i++) push_linkedlist(ll, (var) i); + + print((u8) index_to_ptr(ll, 12)->data); + } + + else { + print("Unknown test."); } return 0; |
