From fed864bf018e7d97fda24089ebe08fa0da1c3b97 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 5 Sep 2023 18:30:01 +0300 Subject: more or less happy with syntax --- tests/arr.ek | 2 +- tests/blocks.ek | 4 ++-- tests/callbacks.ek | 4 ++-- tests/calls.ek | 4 ++-- tests/enums.ek | 4 ++-- tests/resolve.ek | 10 +++++----- tests/structs.ek | 22 +++++++++++----------- tests/unions.ek | 20 +++++++++----------- tests/variadic.ek | 2 +- tests/vars.ek | 32 ++++++++++++++++---------------- 10 files changed, 51 insertions(+), 53 deletions(-) (limited to 'tests') diff --git a/tests/arr.ek b/tests/arr.ek index 8596fd0..c206615 100644 --- a/tests/arr.ek +++ b/tests/arr.ek @@ -1,5 +1,5 @@ main() { - a '[20]'[20]'type![u32, u32] = [20, => 20 ... 200 = 240, [200, 200]]; + [20][20]*type![u32, u32] a = [20, => 20 ... 200 = 240, [200, 200]]; a[20] = 200; } diff --git a/tests/blocks.ek b/tests/blocks.ek index e91d33c..bc210a2 100644 --- a/tests/blocks.ek +++ b/tests/blocks.ek @@ -1,10 +1,10 @@ main() { - a mut = switch 1 { + mut a = switch 1 { case 2: 2 case 1: 1 default: 20; 20 }; - c mut = ({2 + 2; 4 + 4}); + mut c = ({2 + 2; 4 + 4}); } diff --git a/tests/callbacks.ek b/tests/callbacks.ek index 9b9d649..6e753e0 100644 --- a/tests/callbacks.ek +++ b/tests/callbacks.ek @@ -1,4 +1,4 @@ -do_stuff(proc @(u32)) +do_stuff(^(u32) proc) { proc(); } @@ -13,5 +13,5 @@ other_proc() main() { - do_stuff(other_proc as @(u32)); + do_stuff(other_proc as ^(u32)); } diff --git a/tests/calls.ek b/tests/calls.ek index 4978649..0a4c20d 100644 --- a/tests/calls.ek +++ b/tests/calls.ek @@ -2,13 +2,13 @@ typedef some_type { add(some_type, some_type => some_type); } -add(a u32, b u32 => u32) +add(u32 a, u32 b => u32) { return a + b; } /* ah fuck, analyze_proc gobbles up the typeof */ -some_proc(a some_type, b typeof a => typeof a) +some_proc(some_type a, typeof a b => typeof a) { return add(a, b); } diff --git a/tests/enums.ek b/tests/enums.ek index f52f5d6..234bbd1 100644 --- a/tests/enums.ek +++ b/tests/enums.ek @@ -9,6 +9,6 @@ enum B: u8 { main() { - a const = a::A; - b const = b::B; + const a = a::A; + const b = b::B; } diff --git a/tests/resolve.ek b/tests/resolve.ek index 5ac7d71..f417fde 100644 --- a/tests/resolve.ek +++ b/tests/resolve.ek @@ -1,13 +1,13 @@ typedef A {} struct generic (T1 A, T2 A) { - a T1; - b T2; + T1 a; + T2 b; } struct other_generic(T1 A) { - a T1; - b T1; + T1 a; + T2 b; } /* wow this works pretty good */ @@ -30,6 +30,6 @@ some_func(generic){5;} main(){ // TODO: not fully qualified types in bodies should cause an error - a [20]generic![i64, generic]; + [20]generic![i64, generic] a; some_func(a); } diff --git a/tests/structs.ek b/tests/structs.ek index 20d9c48..1444d24 100644 --- a/tests/structs.ek +++ b/tests/structs.ek @@ -1,26 +1,26 @@ typedef any {} struct basic_struct { - a i64; - b i64; - c i64; + i64 a; + i64 b; + i64 c; } -struct complex_struct (A any, B any, C any) { - a A; - b B; - c C; +struct complex_struct (any A, any B, any C) { + A a; + B b; + C c; } main() { /* infer types */ - simple_named const = {.a = 1, .b = 2, .c = 3} as basic_struct; - complex_named const = {.a = 1, .b = 2, .c = 3} as complex_struct; + const simple_named = {.a = 1, .b = 2, .c = 3} as basic_struct; + const complex_named = {.a = 1, .b = 2, .c = 3} as complex_struct; /* force types */ - force_named complex_struct![u32, u32, u32] = {.a = 1, .b = 2, .c = 3}; - force_inferred_named mut = {.a = 1, .b = 2, .c = 3} as + complex_struct![u32, u32, u32] force_named = {.a = 1, .b = 2, .c = 3}; + mut force_inferred_named = {.a = 1, .b = 2, .c = 3} as complex_struct![u32, u32, u32]; /* types should be inferred */ diff --git a/tests/unions.ek b/tests/unions.ek index 6c3edc5..b493d5a 100644 --- a/tests/unions.ek +++ b/tests/unions.ek @@ -1,23 +1,21 @@ typedef any {} union basic_union { - a u32; - b i64; - c f32; + u32 a; + i64 b; + f32 c; } -union complex_union(A any, B any, C any) { - a A; - b B; - c C; +union complex_union(any A, any B, any C) { + A a; + B b; + C c; } main() { - simple_named const = {.b = 1} as basic_union; - simple_ordinal const = {1 as u32} as basic_union; + const simple_named = {.b = 1} as basic_union; // TODO: unions should be fully actualized - complex_named const = {.b = 1} as complex_union(u32, i64, f32); - complex_ordinal const = {1 as u32} as complex_union(u32, i64, f32); + const complex_named = {.b = 1} as complex_union![u32, i64, f32]; } diff --git a/tests/variadic.ek b/tests/variadic.ek index 264e2f0..ae3c2c2 100644 --- a/tests/variadic.ek +++ b/tests/variadic.ek @@ -4,4 +4,4 @@ define macro(a, b, ... c) } } -proc(a u32, b u32, ... c) {} +proc(u32 a, u32 b, ... c) {} diff --git a/tests/vars.ek b/tests/vars.ek index 8780e3f..ad56213 100644 --- a/tests/vars.ek +++ b/tests/vars.ek @@ -1,33 +1,33 @@ typedef any {} struct some_struct { - a i64; + i64 a; } -struct some_template (A any) { - a A; +struct some_template (any A) { + A a; } main() { - a mut i64 = 20; + i64 a = 20; a = 200; - b mut some_struct = {20}; - b = {200}; + some_struct b = {.a = 20}; + b = {.a = 200}; - c mut = {20} as some_struct; - c = {200}; + mut c = {.a = 20} as some_struct; + c = {.a = 200}; - d mut some_template = {20}; - d = {200}; + mut some_template d = {.a = 20}; + d = {.a = 200}; - e mut some_template (i64) = {20}; - e = {200}; + mut some_template![i64] e = {.a = 20}; + e = {.a = 200}; - f mut = {20} as some_template; - f = {200}; + mut f = {.a = 20} as some_template; + f = {.a = 200}; - g mut = {20} as some_template(i64); - g = {200}; + mut g = {.a = 20} as some_template(i64); + g = {.a = 200}; } -- cgit v1.3