From c990815e8bcb62946b62c31dc0cd89d9bbe54d36 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sun, 31 Jan 2021 18:26:11 -0600 Subject: [PATCH] removed 'proc' keyword from core libraries and examples --- bin/onyx | Bin 331456 -> 332216 bytes core/alloc.onyx | 2 +- core/alloc/arena.onyx | 8 +- core/alloc/fixed.onyx | 6 +- core/alloc/heap.onyx | 10 +- core/alloc/pool.onyx | 10 +- core/alloc/ring.onyx | 6 +- core/array.onyx | 40 ++-- core/builtin.onyx | 24 +- core/conv.onyx | 8 +- core/intrinsics/simd.onyx | 370 ++++++++++++++--------------- core/intrinsics/wasm.onyx | 84 +++---- core/io/reader.onyx | 14 +- core/io/writer.onyx | 22 +- core/js/webgl.onyx | 244 +++++++++---------- core/map.onyx | 37 +-- core/math.onyx | 26 +- core/memory.onyx | 8 +- core/random.onyx | 8 +- core/stdio.onyx | 18 +- core/string.onyx | 46 ++-- core/sys/js.onyx | 4 +- core/sys/wasi.onyx | 4 +- core/wasi.onyx | 101 ++++---- docs/bugs | 111 +-------- docs/new_hash_plan | 50 ---- docs/todo | 5 +- examples/01_hello_world.onyx | 2 +- examples/02_variables.onyx | 2 +- examples/03_basics.onyx | 2 +- examples/04_fixed_arrays.onyx | 4 +- examples/05_slices.onyx | 2 +- examples/06_dynamic_arrays.onyx | 2 +- examples/07_structs.onyx | 6 +- examples/08_enums.onyx | 2 +- examples/09_for_loops.onyx | 2 +- examples/10_switch_statements.onyx | 2 +- examples/11_map.onyx | 4 +- examples/12_varargs.onyx | 2 +- examples/13_use_keyword.onyx | 2 +- examples/14_overloaded_procs.onyx | 2 +- examples/15_polymorphic_procs.onyx | 2 +- examples/16_pipe_operator.onyx | 8 +- onyx.exe | Bin 388096 -> 387584 bytes 44 files changed, 577 insertions(+), 735 deletions(-) delete mode 100644 docs/new_hash_plan diff --git a/bin/onyx b/bin/onyx index 03b888b8017d529c438bc7b70f67755a8a5fe1d1..586a6c15456bac8096e0ffbcb381030ca48b808f 100755 GIT binary patch literal 332216 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

AS2d)mVl> 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

aor%8P%Km6B2L`J{wDdlA}dpZSYpZ6W? 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%0A#Fs?C@y2 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 literal 331456 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 rawptr { +arena_alloc_proc :: (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { alloc_arena := cast(^ArenaState) data; if aa == AllocationAction.Alloc { @@ -60,7 +60,7 @@ arena_alloc_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: } // NOTE: `arena_size` must be at least 4 -make :: proc (backing: Allocator, arena_size: u32) -> ArenaState { +make :: (backing: Allocator, arena_size: u32) -> ArenaState { initial_arena := cast(^Arena) raw_alloc(backing, arena_size); initial_arena.next = null; @@ -74,14 +74,14 @@ make :: proc (backing: Allocator, arena_size: u32) -> ArenaState { }; } -make_allocator :: proc (rs: ^ArenaState) -> Allocator { +make_allocator :: (rs: ^ArenaState) -> Allocator { return Allocator.{ func = arena_alloc_proc, data = rs, }; } -free :: proc (arena: ^ArenaState) { +free :: (arena: ^ArenaState) { walker := arena.first_arena; trailer := walker; while walker != null { diff --git a/core/alloc/fixed.onyx b/core/alloc/fixed.onyx index a9879c26..4019da8c 100644 --- a/core/alloc/fixed.onyx +++ b/core/alloc/fixed.onyx @@ -16,7 +16,7 @@ FixedAllocatorData :: struct { } #private_file -fixed_allocator_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { +fixed_allocator_proc :: (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { fa_data := cast(^FixedAllocatorData) data; if aa != AllocationAction.Alloc do return null; @@ -25,14 +25,14 @@ fixed_allocator_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, ali return fa_data.ptr; } -make :: proc (ptr: rawptr, size: u32) -> FixedAllocatorData { +make :: (ptr: rawptr, size: u32) -> FixedAllocatorData { return FixedAllocatorData.{ ptr = ptr, size = size, }; } -make_allocator :: proc (fa_data: ^FixedAllocatorData) -> Allocator { +make_allocator :: (fa_data: ^FixedAllocatorData) -> Allocator { return Allocator.{ func = fixed_allocator_proc, data = fa_data, diff --git a/core/alloc/heap.onyx b/core/alloc/heap.onyx index 1989f59e..6c064370 100644 --- a/core/alloc/heap.onyx +++ b/core/alloc/heap.onyx @@ -27,7 +27,7 @@ heap_block :: struct { } #private_file -heap_alloc :: proc (size_: u32, align: u32) -> rawptr { +heap_alloc :: (size_: u32, align: u32) -> rawptr { if size_ == 0 do return null; size := size_ + sizeof heap_block; @@ -78,7 +78,7 @@ heap_alloc :: proc (size_: u32, align: u32) -> rawptr { } #private_file -heap_free :: proc (ptr: rawptr) { +heap_free :: (ptr: rawptr) { hb_ptr := cast(^heap_block) (cast(u32) ptr - sizeof heap_block); // DEBUGGING: Fills freed memory with 0's @@ -89,7 +89,7 @@ heap_free :: proc (ptr: rawptr) { } #private_file -heap_resize :: proc (ptr: rawptr, new_size: u32, align: u32) -> rawptr { +heap_resize :: (ptr: rawptr, new_size: u32, align: u32) -> rawptr { if ptr == null do return null; hb_ptr := cast(^heap_block) (cast(u32) ptr - sizeof heap_block); @@ -123,7 +123,7 @@ heap_resize :: proc (ptr: rawptr, new_size: u32, align: u32) -> rawptr { } #private_file -heap_alloc_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { +heap_alloc_proc :: (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { if aa == AllocationAction.Alloc do return heap_alloc(size, align); if aa == AllocationAction.Resize do return heap_resize(oldptr, size, align); if aa == AllocationAction.Free { @@ -134,7 +134,7 @@ heap_alloc_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: u return null; } -init :: proc () { +init :: () { heap_state.free_list = null; heap_state.next_alloc = __heap_start; heap_state.remaining_space = (memory_size() << 16) - cast(u32) __heap_start; diff --git a/core/alloc/pool.onyx b/core/alloc/pool.onyx index 1f1e51ac..0f6ff50b 100644 --- a/core/alloc/pool.onyx +++ b/core/alloc/pool.onyx @@ -17,7 +17,7 @@ PoolAllocator :: struct (Elem: type_expr) { } #private_file -pool_allocator_proc :: proc (pool: ^PoolAllocator($Elem), aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { +pool_allocator_proc :: (pool: ^PoolAllocator($Elem), aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { switch aa { case AllocationAction.Alloc { assert(size == sizeof Elem, "Allocating wrong size from pool allocator."); @@ -38,14 +38,14 @@ pool_allocator_proc :: proc (pool: ^PoolAllocator($Elem), aa: AllocationAction, return null; } -pool_alloc :: proc (pool: ^PoolAllocator($Elem)) -> ^Elem { +pool_alloc :: (pool: ^PoolAllocator($Elem)) -> ^Elem { if pool.first_free == null do return null; defer pool.first_free = cast(^Elem) *(cast(^rawptr) pool.first_free); return pool.first_free; } -pool_free :: proc (pool: ^PoolAllocator($Elem), elem: ^Elem) { +pool_free :: (pool: ^PoolAllocator($Elem), elem: ^Elem) { // TODO: Maybe add a check that the elem pointer is actually in the buffer?? *(cast(^rawptr) elem) = cast(rawptr) pool.first_free; pool.first_free = elem; @@ -54,7 +54,7 @@ pool_free :: proc (pool: ^PoolAllocator($Elem), elem: ^Elem) { // This could become: proc (buffer: [] u8, $Elem: type_expr) -> PoolAllocator(Elem) // when that feature is implemented. -make :: proc (buffer: [] $Elem) -> PoolAllocator(Elem) { +make :: (buffer: [] $Elem) -> PoolAllocator(Elem) { assert(sizeof Elem >= sizeof rawptr, "Cannot have a pool allocator of a type less than a rawptr in size."); for i: 0 .. buffer.count - 1 { @@ -69,7 +69,7 @@ make :: proc (buffer: [] $Elem) -> PoolAllocator(Elem) { }; } -make_allocator :: proc (pool: ^PoolAllocator($Elem)) -> Allocator { +make_allocator :: (pool: ^PoolAllocator($Elem)) -> Allocator { return Allocator.{ func = #solidify pool_allocator_proc { Elem = Elem }, data = pool, diff --git a/core/alloc/ring.onyx b/core/alloc/ring.onyx index 474f5eb6..1f11bd2a 100644 --- a/core/alloc/ring.onyx +++ b/core/alloc/ring.onyx @@ -17,7 +17,7 @@ RingState :: struct { } #private_file -ring_alloc_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { +ring_alloc_proc :: (data: rawptr, aa: AllocationAction, size: u32, align: u32, oldptr: rawptr) -> rawptr { ss := cast(^RingState) data; if aa == AllocationAction.Alloc { @@ -38,7 +38,7 @@ ring_alloc_proc :: proc (data: rawptr, aa: AllocationAction, size: u32, align: u return null; } -make :: proc (buffer: rawptr, length: u32) -> RingState { +make :: (buffer: rawptr, length: u32) -> RingState { return RingState.{ base_ptr = buffer, curr_ptr = buffer, @@ -46,7 +46,7 @@ make :: proc (buffer: rawptr, length: u32) -> RingState { }; } -make_allocator :: proc (rs: ^RingState) -> Allocator { +make_allocator :: (rs: ^RingState) -> Allocator { return Allocator.{ func = ring_alloc_proc, data = rs, diff --git a/core/array.onyx b/core/array.onyx index 0fcfa047..edff7a78 100644 --- a/core/array.onyx +++ b/core/array.onyx @@ -3,19 +3,19 @@ package core.array // --------------------------------- // Dynamic Arrays // --------------------------------- -make :: proc ($T: type_expr, initial_cap := 4) -> [..] T { +make :: ($T: type_expr, initial_cap := 4) -> [..] T { arr : [..] T; init(^arr, initial_cap); return arr; } -init :: proc (arr: ^[..] $T, initial_cap := 4) { +init :: (arr: ^[..] $T, initial_cap := 4) { arr.count = 0; arr.capacity = initial_cap; arr.data = calloc(sizeof T * arr.capacity); } -free :: proc (arr: ^[..] $T) { +free :: (arr: ^[..] $T) { arr.count = 0; arr.capacity = 0; @@ -23,7 +23,7 @@ free :: proc (arr: ^[..] $T) { arr.data = null; } -copy :: proc (arr: ^[..] $T) -> [..] T { +copy :: (arr: ^[..] $T) -> [..] T { new_arr : [..] T; init(^new_arr, arr.count); new_arr.count = arr.count; @@ -32,7 +32,7 @@ copy :: proc (arr: ^[..] $T) -> [..] T { return new_arr; } -copy_range :: proc (arr: ^[..] $T, r: range) -> [..] T { +copy_range :: (arr: ^[..] $T, r: range) -> [..] T { new_arr : [..] T; init(^new_arr, r.high - r.low); new_arr.count = r.high - r.low; @@ -41,11 +41,11 @@ copy_range :: proc (arr: ^[..] $T, r: range) -> [..] T { return new_arr; } -clear :: proc (arr: ^[..] $T) { +clear :: (arr: ^[..] $T) { arr.count = 0; } -ensure_capacity :: proc (arr: ^[..] $T, cap: u32) -> bool { +ensure_capacity :: (arr: ^[..] $T, cap: u32) -> bool { if arr.capacity >= cap do return true; while cap > arr.capacity do arr.capacity <<= 1; @@ -55,14 +55,14 @@ ensure_capacity :: proc (arr: ^[..] $T, cap: u32) -> bool { return true; } -push :: proc (arr: ^[..] $T, x: T) -> bool { +push :: (arr: ^[..] $T, x: T) -> bool { if !ensure_capacity(arr, arr.count + 1) do return false; arr.data[arr.count] = x; arr.count += 1; return true; } -insert :: proc (arr: ^[..] $T, idx: u32, x: T) -> bool { +insert :: (arr: ^[..] $T, idx: u32, x: T) -> bool { if !ensure_capacity(arr, arr.count + 1) do return false; arr.count += 1; @@ -75,7 +75,7 @@ insert :: proc (arr: ^[..] $T, idx: u32, x: T) -> bool { return true; } -remove :: proc (arr: ^[..] $T, elem: T) { +remove :: (arr: ^[..] $T, elem: T) { move := 0; while i := 0; i < arr.count - move { @@ -88,7 +88,7 @@ remove :: proc (arr: ^[..] $T, elem: T) { arr.count -= move; } -delete :: proc (arr: ^[..] $T, idx: u32) { +delete :: (arr: ^[..] $T, idx: u32) { if idx >= arr.count do return; for i: idx .. arr.count - 1 { @@ -98,31 +98,31 @@ delete :: proc (arr: ^[..] $T, idx: u32) { arr.count -= 1; } -fast_delete :: proc (arr: ^[..] $T, idx: u32) { +fast_delete :: (arr: ^[..] $T, idx: u32) { if idx >= arr.count do return; arr.data[idx] = arr.data[arr.count - 1]; arr.count -= 1; } -contains :: proc (arr: ^[..] $T, x: T) -> bool { +contains :: (arr: ^[..] $T, x: T) -> bool { for it: *arr do if it == x do return true; return false; } -pop :: proc (arr: ^[..] $T) -> T { +pop :: (arr: ^[..] $T) -> T { arr.count -= 1; return arr.data[arr.count]; } -average :: proc (arr: ^[..] $T) -> T { +average :: (arr: ^[..] $T) -> T { sum := cast(T) 0; for it: *arr do sum += it; return sum / cast(T) arr.count; } -to_slice :: proc (arr: ^[..] $T) -> [] T { +to_slice :: (arr: ^[..] $T) -> [] T { return arr.data[0 .. arr.count]; } @@ -130,7 +130,7 @@ to_slice :: proc (arr: ^[..] $T) -> [] T { ** Simple insertion sort ** cmp should return >0 if left > right */ -sort :: proc (arr: ^[..] $T, cmp: proc (T, T) -> i32) { +sort :: (arr: ^[..] $T, cmp: (T, T) -> i32) { for i: 1 .. arr.count { x := arr.data[i]; j := i - 1; @@ -144,20 +144,20 @@ sort :: proc (arr: ^[..] $T, cmp: proc (T, T) -> i32) { } } -fold :: proc (arr: ^[..] $T, init: $R, f: proc (T, R) -> R) -> R { +fold :: (arr: ^[..] $T, init: $R, f: (T, R) -> R) -> R { val := init; for it: *arr do val = f(it, val); return val; } // CLEANUP: :slice Move this elsewhere when more slice functionality is added -fold_slice :: proc (arr: [] $T, init: $R, f: proc (T, R) -> R) -> R { +fold_slice :: (arr: [] $T, init: $R, f: (T, R) -> R) -> R { val := init; for it: arr do val = f(it, val); return val; } -map :: proc (arr: ^[..] $T, data: $R, f: proc (T, R) -> T) { +map :: (arr: ^[..] $T, data: $R, f: (T, R) -> T) { for ^it: *arr do *it = f(*it, data); } diff --git a/core/builtin.onyx b/core/builtin.onyx index 1ba52ae3..490b27b8 100644 --- a/core/builtin.onyx +++ b/core/builtin.onyx @@ -16,7 +16,7 @@ vararg :: #type ^struct { count: i32; } -vararg_get :: proc (va: vararg, ret: ^$T) -> bool { +vararg_get :: (va: vararg, ret: ^$T) -> bool { if va.count <= 0 do return false; *ret = *cast(^T) va.data; va.data = cast(rawptr) (cast(^u8) va.data + sizeof T); @@ -32,12 +32,12 @@ OnyxContext :: struct { allocator : Allocator; temp_allocator : Allocator; - assert_handler : proc (msg: str, file: str); + assert_handler : (msg: str, file: str) -> void; } context : OnyxContext; -assert :: proc (cond: bool, msg: str, file: str = str.{ null, 0 }) { +assert :: (cond: bool, msg: str, file: str = str.{ null, 0 }) { if !cond do context.assert_handler(msg, file); } @@ -55,32 +55,32 @@ AllocationAction :: enum { Resize; } -allocator_proc :: #type proc (data: rawptr, action: AllocationAction, size: u32, align: u32, old_ptr: rawptr) -> rawptr; +allocator_proc :: #type (data: rawptr, action: AllocationAction, size: u32, align: u32, old_ptr: rawptr) -> rawptr; Allocator :: struct { data: rawptr; func: allocator_proc; } -raw_alloc :: proc (use a: Allocator, size: u32, alignment := __DEFAULT_ALLOCATION_ALIGNMENT) -> rawptr { +raw_alloc :: (use a: Allocator, size: u32, alignment := __DEFAULT_ALLOCATION_ALIGNMENT) -> rawptr { return func(data, AllocationAction.Alloc, size, alignment, null); } -raw_resize :: proc (use a: Allocator, ptr: rawptr, size: u32, alignment := __DEFAULT_ALLOCATION_ALIGNMENT) -> rawptr { +raw_resize :: (use a: Allocator, ptr: rawptr, size: u32, alignment := __DEFAULT_ALLOCATION_ALIGNMENT) -> rawptr { return func(data, AllocationAction.Resize, size, alignment, ptr); } -raw_free :: proc (use a: Allocator, ptr: rawptr) { +raw_free :: (use a: Allocator, ptr: rawptr) { func(data, AllocationAction.Free, 0, 0, ptr); } // Allocators using the context structure. -calloc :: proc (size: u32) -> rawptr do return raw_alloc(context.allocator, size); -cresize :: proc (ptr: rawptr, size: u32) -> rawptr do return raw_resize(context.allocator, ptr, size); -cfree :: proc (ptr: rawptr) do raw_free(context.allocator, ptr); +calloc :: (size: u32) -> rawptr do return raw_alloc(context.allocator, size); +cresize :: (ptr: rawptr, size: u32) -> rawptr do return raw_resize(context.allocator, ptr, size); +cfree :: (ptr: rawptr) do raw_free(context.allocator, ptr); // @CLEANUP: These need to move to somewhere else eventually -cmp_asc :: proc (a: $T, b: T) -> i32 do return cast(i32) (a - b); -cmp_dec :: proc (a: $T, b: T) -> i32 do return cast(i32) (b - a); +cmp_asc :: (a: $T, b: T) -> i32 do return cast(i32) (a - b); +cmp_dec :: (a: $T, b: T) -> i32 do return cast(i32) (b - a); diff --git a/core/conv.onyx b/core/conv.onyx index b596de76..a389df6a 100644 --- a/core/conv.onyx +++ b/core/conv.onyx @@ -1,6 +1,6 @@ package core.conv -i64_to_str :: proc (n: i64, base: u64, buf: [] u8, min_length := 0) -> str { +i64_to_str :: (n: i64, base: u64, buf: [] u8, min_length := 0) -> str { is_neg := false; if n < 0 && base == 10 { is_neg = true; @@ -64,7 +64,7 @@ i64_to_str :: proc (n: i64, base: u64, buf: [] u8, min_length := 0) -> str { } // NOTE: This is a big hack but it will work for now -f64_to_str :: proc (f: f64, buf: [] u8) -> str { +f64_to_str :: (f: f64, buf: [] u8) -> str { f *= 10000.0; v := cast(i64) f; @@ -83,11 +83,11 @@ f64_to_str :: proc (f: f64, buf: [] u8) -> str { return str.{ buf.data, len }; } -str_format :: proc (format: str, buffer: [] u8, va: ...) -> str { +str_format :: (format: str, buffer: [] u8, va: ...) -> str { return str_format_va(format, buffer, va); } -str_format_va :: proc (format: str, buffer: [] u8, va: vararg) -> str { +str_format_va :: (format: str, buffer: [] u8, va: vararg) -> str { len := 0; state := 0; diff --git a/core/intrinsics/simd.onyx b/core/intrinsics/simd.onyx index f2f9c7a8..55297ad4 100644 --- a/core/intrinsics/simd.onyx +++ b/core/intrinsics/simd.onyx @@ -11,205 +11,205 @@ f64x2 :: #type simd.f64x2 v128 :: #type simd.v128 // NOTE: These u8 values must be compile time known values. -v128_const :: proc (b1: u8, b2: u8, b3: u8, b4: u8, +v128_const :: (b1: u8, b2: u8, b3: u8, b4: u8, b5: u8, b6: u8, b7: u8, b8: u8, b9: u8, b10: u8, b11: u8, b12: u8, b13: u8, b14: u8, b15: u8, b16: u8) -> v128 #intrinsic --- -i8x16_const :: proc (b1: i8, b2: i8, b3: i8, b4: i8, +i8x16_const :: (b1: i8, b2: i8, b3: i8, b4: i8, b5: i8, b6: i8, b7: i8, b8: i8, b9: i8, b10: i8, b11: i8, b12: i8, b13: i8, b14: i8, b15: i8, b16: i8) -> i8x16 #intrinsic --- -i16x8_const :: proc (b1: i16, b2: i16, b3: i16, b4: i16, +i16x8_const :: (b1: i16, b2: i16, b3: i16, b4: i16, b5: i16, b6: i16, b7: i16, b8: i16) -> i16x8 #intrinsic --- -i32x4_const :: proc (b1: i32, b2: i32, b3: i32, b4: i32) -> i32x4 #intrinsic --- -i64x2_const :: proc (b1: i64, b2: i64) -> i64x2 #intrinsic --- -f32x4_const :: proc (b1: f32, b2: f32, b3: f32, b4: f32) -> f32x4 #intrinsic --- -f64x2_const :: proc (b1: f64, b2: f64) -> f64x2 #intrinsic --- +i32x4_const :: (b1: i32, b2: i32, b3: i32, b4: i32) -> i32x4 #intrinsic --- +i64x2_const :: (b1: i64, b2: i64) -> i64x2 #intrinsic --- +f32x4_const :: (b1: f32, b2: f32, b3: f32, b4: f32) -> f32x4 #intrinsic --- +f64x2_const :: (b1: f64, b2: f64) -> f64x2 #intrinsic --- // NOTE: These u8 values must be compile time known values. -i8x16_shuffle :: proc (a: v128, b: v128, +i8x16_shuffle :: (a: v128, b: v128, b1: u8, b2: u8, b3: u8, b4: u8, b5: u8, b6: u8, b7: u8, b8: u8, b9: u8, b10: u8, b11: u8, b12: u8, b13: u8, b14: u8, b15: u8, b16: u8) -> v128 #intrinsic --- -i8x16_extract_lane_s :: proc (v: i8x16, l: u32) -> i8 #intrinsic --- -i8x16_extract_lane_u :: proc (v: i8x16, l: u32) -> u8 #intrinsic --- -i8x16_replace_lane :: proc (v: i8x16, l: u32, val: i8) -> i8x16 #intrinsic --- -i16x8_extract_lane_s :: proc (v: i16x8, l: u32) -> i16 #intrinsic --- -i16x8_extract_lane_u :: proc (v: i16x8, l: u32) -> u16 #intrinsic --- -i16x8_replace_lane :: proc (v: i16x8, l: u32, val: i16) -> i16x8 #intrinsic --- -i32x4_extract_lane :: proc (v: i32x4, l: u32) -> i32 #intrinsic --- -i32x4_replace_lane :: proc (v: i32x4, l: u32, val: i32) -> i32x4 #intrinsic --- -i64x2_extract_lane :: proc (v: i64x2, l: u32) -> i64 #intrinsic --- -i64x2_replace_lane :: proc (v: i64x2, l: u32, val: i64) -> i64x2 #intrinsic --- -f32x4_extract_lane :: proc (v: f32x4, l: u32) -> f32 #intrinsic --- -f32x4_replace_lane :: proc (v: f32x4, l: u32, val: f32) -> f32x4 #intrinsic --- -f64x2_extract_lane :: proc (v: f64x2, l: u32) -> f64 #intrinsic --- -f64x2_replace_lane :: proc (v: f64x2, l: u32, val: f64) -> f64x2 #intrinsic --- - -i8x16_swizzle :: proc (v: v128, s: v128) -> v128 #intrinsic --- -i8x16_splat :: proc (val: i8) -> i8x16 #intrinsic --- -i16x8_splat :: proc (val: i16) -> i16x8 #intrinsic --- -i32x4_splat :: proc (val: i32) -> i32x4 #intrinsic --- -i64x2_splat :: proc (val: i64) -> i64x2 #intrinsic --- -f32x4_splat :: proc (val: f32) -> f32x4 #intrinsic --- -f64x2_splat :: proc (val: f64) -> f64x2 #intrinsic --- - -i8x16_eq :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_neq :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_lt_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_lt_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_gt_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_gt_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_le_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_le_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_ge_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_ge_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- - -i16x8_eq :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_neq :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_lt_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_lt_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_gt_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_gt_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_le_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_le_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_ge_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_ge_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- - -i32x4_eq :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_neq :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_lt_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_lt_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_gt_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_gt_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_le_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_le_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_ge_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_ge_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- - -f32x4_eq :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- -f32x4_neq :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- -f32x4_lt :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- -f32x4_gt :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- -f32x4_le :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- -f32x4_ge :: proc (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- - -f64x2_eq :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_neq :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_lt :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_gt :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_le :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_ge :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- - -v128_not :: proc (v: v128) -> v128 #intrinsic --- -v128_and :: proc (a: v128, b: v128) -> v128 #intrinsic --- -v128_andnot :: proc (a: v128, b: v128) -> v128 #intrinsic --- -v128_or :: proc (a: v128, b: v128) -> v128 #intrinsic --- -v128_xor :: proc (a: v128, b: v128) -> v128 #intrinsic --- -v128_bitselect :: proc (a: v128, b: v128, c: v128) -> v128 #intrinsic --- - -i8x16_abs :: proc (a: i8x16) -> i8x16 #intrinsic --- -i8x16_neg :: proc (a: i8x16) -> i8x16 #intrinsic --- -i8x16_any_true :: proc (a: i8x16) -> bool #intrinsic --- -i8x16_all_true :: proc (a: i8x16) -> bool #intrinsic --- -i8x16_bitmask :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_narrow_i16x8_s :: proc (a: i16x8) -> i8x16 #intrinsic --- -i8x16_narrow_i16x8_u :: proc (a: i16x8) -> i8x16 #intrinsic --- -i8x16_shl :: proc (a: i8x16, s: i32) -> i8x16 #intrinsic --- -i8x16_shr_s :: proc (a: i8x16, s: i32) -> i8x16 #intrinsic --- -i8x16_shr_u :: proc (a: i8x16, s: i32) -> i8x16 #intrinsic --- -i8x16_add :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_add_sat_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_add_sat_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_sub :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_sub_sat_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_sub_sat_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_min_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_min_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_max_s :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_max_u :: proc (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- -i8x16_avgr_u :: proc (a: i8x16) -> i8x16 #intrinsic --- - -i16x8_abs :: proc (a: i16x8) -> i16x8 #intrinsic --- -i16x8_neg :: proc (a: i16x8) -> i16x8 #intrinsic --- -i16x8_any_true :: proc (a: i16x8) -> bool #intrinsic --- -i16x8_all_true :: proc (a: i16x8) -> bool #intrinsic --- -i16x8_bitmask :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_narrow_i32x4_s :: proc (a: i32x4) -> i16x8 #intrinsic --- -i16x8_narrow_i32x4_u :: proc (a: i32x4) -> i16x8 #intrinsic --- -i16x8_widen_low_i8x16_s :: proc (a: i8x16) -> i16x8 #intrinsic --- -i16x8_widen_high_i8x16_s :: proc (a: i8x16) -> i16x8 #intrinsic --- -i16x8_widen_low_i8x16_u :: proc (a: i8x16) -> i16x8 #intrinsic --- -i16x8_widen_high_i8x16_u :: proc (a: i8x16) -> i16x8 #intrinsic --- -i16x8_shl :: proc (a: i16x8, s: i32) -> i16x8 #intrinsic --- -i16x8_shr_s :: proc (a: i16x8, s: i32) -> i16x8 #intrinsic --- -i16x8_shr_u :: proc (a: i16x8, s: i32) -> i16x8 #intrinsic --- -i16x8_add :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_add_sat_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_add_sat_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_sub :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_sub_sat_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_sub_sat_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_mul :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_min_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_min_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_max_s :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_max_u :: proc (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- -i16x8_avgr_u :: proc (a: i16x8) -> i16x8 #intrinsic --- - -i32x4_abs :: proc (a: i32x4) -> i32x4 #intrinsic --- -i32x4_neg :: proc (a: i32x4) -> i32x4 #intrinsic --- -i32x4_any_true :: proc (a: i32x4) -> bool #intrinsic --- -i32x4_all_true :: proc (a: i32x4) -> bool #intrinsic --- -i32x4_bitmask :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_widen_low_i16x8_s :: proc (a: i16x8) -> i32x4 #intrinsic --- -i32x4_widen_high_i16x8_s :: proc (a: i16x8) -> i32x4 #intrinsic --- -i32x4_widen_low_i16x8_u :: proc (a: i16x8) -> i32x4 #intrinsic --- -i32x4_widen_high_i16x8_u :: proc (a: i16x8) -> i32x4 #intrinsic --- -i32x4_shl :: proc (a: i32x4, s: i32) -> i32x4 #intrinsic --- -i32x4_shr_s :: proc (a: i32x4, s: i32) -> i32x4 #intrinsic --- -i32x4_shl_u :: proc (a: i32x4, s: i32) -> i32x4 #intrinsic --- -i32x4_add :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_sub :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_mul :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_min_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_min_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_max_s :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- -i32x4_max_u :: proc (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- - -i64x2_neg :: proc (a: i64x2) -> i64x2 #intrinsic --- -i64x2_shl :: proc (a: i64x2, s: i32) -> i64x2 #intrinsic --- -i64x2_shr_s :: proc (a: i64x2, s: i32) -> i64x2 #intrinsic --- -i64x2_shr_u :: proc (a: i64x2, s: i32) -> i64x2 #intrinsic --- -i64x2_add :: proc (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- -i64x2_sub :: proc (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- -i64x2_mul :: proc (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- - -f32x4_abs :: proc (a: f32x4) -> f32x4 #intrinsic --- -f32x4_neg :: proc (a: f32x4) -> f32x4 #intrinsic --- -f32x4_sqrt :: proc (a: f32x4) -> f32x4 #intrinsic --- -f32x4_add :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- -f32x4_sub :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- -f32x4_mul :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- -f32x4_div :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- -f32x4_min :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- -f32x4_max :: proc (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- - -f64x2_abs :: proc (a: f64x2) -> f64x2 #intrinsic --- -f64x2_neg :: proc (a: f64x2) -> f64x2 #intrinsic --- -f64x2_sqrt :: proc (a: f64x2) -> f64x2 #intrinsic --- -f64x2_add :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_sub :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_mul :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_div :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_min :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- -f64x2_max :: proc (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +i8x16_extract_lane_s :: (v: i8x16, l: u32) -> i8 #intrinsic --- +i8x16_extract_lane_u :: (v: i8x16, l: u32) -> u8 #intrinsic --- +i8x16_replace_lane :: (v: i8x16, l: u32, val: i8) -> i8x16 #intrinsic --- +i16x8_extract_lane_s :: (v: i16x8, l: u32) -> i16 #intrinsic --- +i16x8_extract_lane_u :: (v: i16x8, l: u32) -> u16 #intrinsic --- +i16x8_replace_lane :: (v: i16x8, l: u32, val: i16) -> i16x8 #intrinsic --- +i32x4_extract_lane :: (v: i32x4, l: u32) -> i32 #intrinsic --- +i32x4_replace_lane :: (v: i32x4, l: u32, val: i32) -> i32x4 #intrinsic --- +i64x2_extract_lane :: (v: i64x2, l: u32) -> i64 #intrinsic --- +i64x2_replace_lane :: (v: i64x2, l: u32, val: i64) -> i64x2 #intrinsic --- +f32x4_extract_lane :: (v: f32x4, l: u32) -> f32 #intrinsic --- +f32x4_replace_lane :: (v: f32x4, l: u32, val: f32) -> f32x4 #intrinsic --- +f64x2_extract_lane :: (v: f64x2, l: u32) -> f64 #intrinsic --- +f64x2_replace_lane :: (v: f64x2, l: u32, val: f64) -> f64x2 #intrinsic --- + +i8x16_swizzle :: (v: v128, s: v128) -> v128 #intrinsic --- +i8x16_splat :: (val: i8) -> i8x16 #intrinsic --- +i16x8_splat :: (val: i16) -> i16x8 #intrinsic --- +i32x4_splat :: (val: i32) -> i32x4 #intrinsic --- +i64x2_splat :: (val: i64) -> i64x2 #intrinsic --- +f32x4_splat :: (val: f32) -> f32x4 #intrinsic --- +f64x2_splat :: (val: f64) -> f64x2 #intrinsic --- + +i8x16_eq :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_neq :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_lt_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_lt_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_gt_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_gt_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_le_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_le_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_ge_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_ge_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- + +i16x8_eq :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_neq :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_lt_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_lt_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_gt_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_gt_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_le_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_le_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_ge_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_ge_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- + +i32x4_eq :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_neq :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_lt_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_lt_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_gt_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_gt_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_le_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_le_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_ge_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_ge_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- + +f32x4_eq :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- +f32x4_neq :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- +f32x4_lt :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- +f32x4_gt :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- +f32x4_le :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- +f32x4_ge :: (a: f32x4, b: f32x4) -> i32x4 #intrinsic --- + +f64x2_eq :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_neq :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_lt :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_gt :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_le :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_ge :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- + +v128_not :: (v: v128) -> v128 #intrinsic --- +v128_and :: (a: v128, b: v128) -> v128 #intrinsic --- +v128_andnot :: (a: v128, b: v128) -> v128 #intrinsic --- +v128_or :: (a: v128, b: v128) -> v128 #intrinsic --- +v128_xor :: (a: v128, b: v128) -> v128 #intrinsic --- +v128_bitselect :: (a: v128, b: v128, c: v128) -> v128 #intrinsic --- + +i8x16_abs :: (a: i8x16) -> i8x16 #intrinsic --- +i8x16_neg :: (a: i8x16) -> i8x16 #intrinsic --- +i8x16_any_true :: (a: i8x16) -> bool #intrinsic --- +i8x16_all_true :: (a: i8x16) -> bool #intrinsic --- +i8x16_bitmask :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_narrow_i16x8_s :: (a: i16x8) -> i8x16 #intrinsic --- +i8x16_narrow_i16x8_u :: (a: i16x8) -> i8x16 #intrinsic --- +i8x16_shl :: (a: i8x16, s: i32) -> i8x16 #intrinsic --- +i8x16_shr_s :: (a: i8x16, s: i32) -> i8x16 #intrinsic --- +i8x16_shr_u :: (a: i8x16, s: i32) -> i8x16 #intrinsic --- +i8x16_add :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_add_sat_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_add_sat_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_sub :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_sub_sat_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_sub_sat_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_min_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_min_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_max_s :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_max_u :: (a: i8x16, b: i8x16) -> i8x16 #intrinsic --- +i8x16_avgr_u :: (a: i8x16) -> i8x16 #intrinsic --- + +i16x8_abs :: (a: i16x8) -> i16x8 #intrinsic --- +i16x8_neg :: (a: i16x8) -> i16x8 #intrinsic --- +i16x8_any_true :: (a: i16x8) -> bool #intrinsic --- +i16x8_all_true :: (a: i16x8) -> bool #intrinsic --- +i16x8_bitmask :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_narrow_i32x4_s :: (a: i32x4) -> i16x8 #intrinsic --- +i16x8_narrow_i32x4_u :: (a: i32x4) -> i16x8 #intrinsic --- +i16x8_widen_low_i8x16_s :: (a: i8x16) -> i16x8 #intrinsic --- +i16x8_widen_high_i8x16_s :: (a: i8x16) -> i16x8 #intrinsic --- +i16x8_widen_low_i8x16_u :: (a: i8x16) -> i16x8 #intrinsic --- +i16x8_widen_high_i8x16_u :: (a: i8x16) -> i16x8 #intrinsic --- +i16x8_shl :: (a: i16x8, s: i32) -> i16x8 #intrinsic --- +i16x8_shr_s :: (a: i16x8, s: i32) -> i16x8 #intrinsic --- +i16x8_shr_u :: (a: i16x8, s: i32) -> i16x8 #intrinsic --- +i16x8_add :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_add_sat_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_add_sat_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_sub :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_sub_sat_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_sub_sat_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_mul :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_min_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_min_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_max_s :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_max_u :: (a: i16x8, b: i16x8) -> i16x8 #intrinsic --- +i16x8_avgr_u :: (a: i16x8) -> i16x8 #intrinsic --- + +i32x4_abs :: (a: i32x4) -> i32x4 #intrinsic --- +i32x4_neg :: (a: i32x4) -> i32x4 #intrinsic --- +i32x4_any_true :: (a: i32x4) -> bool #intrinsic --- +i32x4_all_true :: (a: i32x4) -> bool #intrinsic --- +i32x4_bitmask :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_widen_low_i16x8_s :: (a: i16x8) -> i32x4 #intrinsic --- +i32x4_widen_high_i16x8_s :: (a: i16x8) -> i32x4 #intrinsic --- +i32x4_widen_low_i16x8_u :: (a: i16x8) -> i32x4 #intrinsic --- +i32x4_widen_high_i16x8_u :: (a: i16x8) -> i32x4 #intrinsic --- +i32x4_shl :: (a: i32x4, s: i32) -> i32x4 #intrinsic --- +i32x4_shr_s :: (a: i32x4, s: i32) -> i32x4 #intrinsic --- +i32x4_shl_u :: (a: i32x4, s: i32) -> i32x4 #intrinsic --- +i32x4_add :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_sub :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_mul :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_min_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_min_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_max_s :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- +i32x4_max_u :: (a: i32x4, b: i32x4) -> i32x4 #intrinsic --- + +i64x2_neg :: (a: i64x2) -> i64x2 #intrinsic --- +i64x2_shl :: (a: i64x2, s: i32) -> i64x2 #intrinsic --- +i64x2_shr_s :: (a: i64x2, s: i32) -> i64x2 #intrinsic --- +i64x2_shr_u :: (a: i64x2, s: i32) -> i64x2 #intrinsic --- +i64x2_add :: (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- +i64x2_sub :: (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- +i64x2_mul :: (a: i64x2, b: i64x2) -> i64x2 #intrinsic --- + +f32x4_abs :: (a: f32x4) -> f32x4 #intrinsic --- +f32x4_neg :: (a: f32x4) -> f32x4 #intrinsic --- +f32x4_sqrt :: (a: f32x4) -> f32x4 #intrinsic --- +f32x4_add :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- +f32x4_sub :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- +f32x4_mul :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- +f32x4_div :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- +f32x4_min :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- +f32x4_max :: (a: f32x4, b: f32x4) -> f32x4 #intrinsic --- + +f64x2_abs :: (a: f64x2) -> f64x2 #intrinsic --- +f64x2_neg :: (a: f64x2) -> f64x2 #intrinsic --- +f64x2_sqrt :: (a: f64x2) -> f64x2 #intrinsic --- +f64x2_add :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_sub :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_mul :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_div :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_min :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- +f64x2_max :: (a: f64x2, b: f64x2) -> f64x2 #intrinsic --- // NOTE: These may be backwards -i32x4_trunc_sat_f32x4_s :: proc (v: f32x4) -> i32x4 #intrinsic --- -i32x4_trunc_sat_f32x4_u :: proc (v: f32x4) -> i32x4 #intrinsic --- -f32x4_convert_i32x4_s :: proc (v: i32x4) -> f32x4 #intrinsic --- -f32x4_convert_i32x4_u :: proc (v: i32x4) -> f32x4 #intrinsic --- +i32x4_trunc_sat_f32x4_s :: (v: f32x4) -> i32x4 #intrinsic --- +i32x4_trunc_sat_f32x4_u :: (v: f32x4) -> i32x4 #intrinsic --- +f32x4_convert_i32x4_s :: (v: i32x4) -> f32x4 #intrinsic --- +f32x4_convert_i32x4_u :: (v: i32x4) -> f32x4 #intrinsic --- diff --git a/core/intrinsics/wasm.onyx b/core/intrinsics/wasm.onyx index 9aafb617..db95e792 100644 --- a/core/intrinsics/wasm.onyx +++ b/core/intrinsics/wasm.onyx @@ -1,48 +1,48 @@ package core.intrinsics.wasm -memory_size :: proc () -> i32 #intrinsic --- -memory_grow :: proc (val: i32) -> i32 #intrinsic --- +memory_size :: () -> i32 #intrinsic --- +memory_grow :: (val: i32) -> i32 #intrinsic --- -clz_i32 :: proc (val: i32) -> i32 #intrinsic --- -ctz_i32 :: proc (val: i32) -> i32 #intrinsic --- -popcnt_i32 :: proc (val: i32) -> i32 #intrinsic --- -and_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -or_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -xor_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -shl_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -slr_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -sar_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -rotl_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- -rotr_i32 :: proc (lhs: i32, rhs: i32) -> i32 #intrinsic --- +clz_i32 :: (val: i32) -> i32 #intrinsic --- +ctz_i32 :: (val: i32) -> i32 #intrinsic --- +popcnt_i32 :: (val: i32) -> i32 #intrinsic --- +and_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +or_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +xor_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +shl_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +slr_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +sar_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +rotl_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- +rotr_i32 :: (lhs: i32, rhs: i32) -> i32 #intrinsic --- -clz_i64 :: proc (val: i64) -> i64 #intrinsic --- -ctz_i64 :: proc (val: i64) -> i64 #intrinsic --- -popcnt_i64 :: proc (val: i64) -> i64 #intrinsic --- -and_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -or_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -xor_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -shl_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -slr_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -sar_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -rotl_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- -rotr_i64 :: proc (lhs: i64, rhs: i64) -> i64 #intrinsic --- +clz_i64 :: (val: i64) -> i64 #intrinsic --- +ctz_i64 :: (val: i64) -> i64 #intrinsic --- +popcnt_i64 :: (val: i64) -> i64 #intrinsic --- +and_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +or_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +xor_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +shl_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +slr_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +sar_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +rotl_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- +rotr_i64 :: (lhs: i64, rhs: i64) -> i64 #intrinsic --- -abs_f32 :: proc (val: f32) -> f32 #intrinsic --- -ceil_f32 :: proc (val: f32) -> f32 #intrinsic --- -floor_f32 :: proc (val: f32) -> f32 #intrinsic --- -trunc_f32 :: proc (val: f32) -> f32 #intrinsic --- -nearest_f32 :: proc (val: f32) -> f32 #intrinsic --- -sqrt_f32 :: proc (val: f32) -> f32 #intrinsic --- -min_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic --- -max_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic --- -copysign_f32 :: proc (lhs: f32, rhs: f32) -> f32 #intrinsic --- +abs_f32 :: (val: f32) -> f32 #intrinsic --- +ceil_f32 :: (val: f32) -> f32 #intrinsic --- +floor_f32 :: (val: f32) -> f32 #intrinsic --- +trunc_f32 :: (val: f32) -> f32 #intrinsic --- +nearest_f32 :: (val: f32) -> f32 #intrinsic --- +sqrt_f32 :: (val: f32) -> f32 #intrinsic --- +min_f32 :: (lhs: f32, rhs: f32) -> f32 #intrinsic --- +max_f32 :: (lhs: f32, rhs: f32) -> f32 #intrinsic --- +copysign_f32 :: (lhs: f32, rhs: f32) -> f32 #intrinsic --- -abs_f64 :: proc (val: f64) -> f64 #intrinsic --- -ceil_f64 :: proc (val: f64) -> f64 #intrinsic --- -floor_f64 :: proc (val: f64) -> f64 #intrinsic --- -trunc_f64 :: proc (val: f64) -> f64 #intrinsic --- -nearest_f64 :: proc (val: f64) -> f64 #intrinsic --- -sqrt_f64 :: proc (val: f64) -> f64 #intrinsic --- -min_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic --- -max_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic --- -copysign_f64 :: proc (lhs: f64, rhs: f64) -> f64 #intrinsic --- +abs_f64 :: (val: f64) -> f64 #intrinsic --- +ceil_f64 :: (val: f64) -> f64 #intrinsic --- +floor_f64 :: (val: f64) -> f64 #intrinsic --- +trunc_f64 :: (val: f64) -> f64 #intrinsic --- +nearest_f64 :: (val: f64) -> f64 #intrinsic --- +sqrt_f64 :: (val: f64) -> f64 #intrinsic --- +min_f64 :: (lhs: f64, rhs: f64) -> f64 #intrinsic --- +max_f64 :: (lhs: f64, rhs: f64) -> f64 #intrinsic --- +copysign_f64 :: (lhs: f64, rhs: f64) -> f64 #intrinsic --- diff --git a/core/io/reader.onyx b/core/io/reader.onyx index a0f037cf..8652ea8f 100644 --- a/core/io/reader.onyx +++ b/core/io/reader.onyx @@ -4,13 +4,13 @@ Reader :: struct { stream : ^Stream; } -reader_make :: proc (s: ^Stream) -> Reader { +reader_make :: (s: ^Stream) -> Reader { assert(s.vtable != null, "Stream vtable was not setup correctly."); return Reader.{ s }; } -read_u32 :: proc (use reader: ^Reader) -> u32 { +read_u32 :: (use reader: ^Reader) -> u32 { n: u32 = 0; skip_whitespace(reader); @@ -29,7 +29,7 @@ read_u32 :: proc (use reader: ^Reader) -> u32 { return n; } -read_u64 :: proc (use reader: ^Reader) -> u64 { +read_u64 :: (use reader: ^Reader) -> u64 { n: u64 = 0; skip_whitespace(reader); @@ -48,7 +48,7 @@ read_u64 :: proc (use reader: ^Reader) -> u64 { return n; } -read_line :: proc (use reader: ^Reader, allocator := context.allocator) -> str { +read_line :: (use reader: ^Reader, allocator := context.allocator) -> str { _, curr_pos := stream_tell(stream); count := 0; @@ -71,7 +71,7 @@ read_line :: proc (use reader: ^Reader, allocator := context.allocator) -> str { return out; } -read_word :: proc (use reader: ^Reader, allocator := context.allocator) -> str { +read_word :: (use reader: ^Reader, allocator := context.allocator) -> str { skip_whitespace(reader); _, curr_pos := stream_tell(stream); @@ -103,7 +103,7 @@ read_word :: proc (use reader: ^Reader, allocator := context.allocator) -> str { return out; } -advance_line :: proc (use reader: ^Reader) { +advance_line :: (use reader: ^Reader) { err, curr := stream_read_byte(stream); if err != Error.None do return; @@ -115,7 +115,7 @@ advance_line :: proc (use reader: ^Reader) { err, curr = stream_read_byte(stream); } -skip_whitespace :: proc (use reader: ^Reader) { +skip_whitespace :: (use reader: ^Reader) { while true { err, byte := stream_peek_byte(stream); if err == Error.EOF do break; diff --git a/core/io/writer.onyx b/core/io/writer.onyx index 90125517..3d33a20a 100644 --- a/core/io/writer.onyx +++ b/core/io/writer.onyx @@ -6,24 +6,24 @@ Writer :: struct { stream : ^Stream; } -writer_make :: proc (s: ^Stream) -> Writer { +writer_make :: (s: ^Stream) -> Writer { assert(s.vtable != null, "Stream vtable was not setup correctly."); return Writer.{ s }; } -write_str :: proc (use writer: ^Writer, s: str) { +write_str :: (use writer: ^Writer, s: str) { stream_write(stream, s); } -write_cstr :: proc (use writer: ^Writer, cs: cstr) { +write_cstr :: (use writer: ^Writer, cs: cstr) { use package core s := string.make(cs); write_str(writer, s); } -write_i32 :: proc (use writer: ^Writer, n: i32, base: u32 = 10) { +write_i32 :: (use writer: ^Writer, n: i32, base: u32 = 10) { use package core buf : [256] u8; @@ -31,7 +31,7 @@ write_i32 :: proc (use writer: ^Writer, n: i32, base: u32 = 10) { write_str(writer, s); } -write_i64 :: proc (use writer: ^Writer, n: i64, base: u64 = 10) { +write_i64 :: (use writer: ^Writer, n: i64, base: u64 = 10) { use package core buf : [256] u8; @@ -39,7 +39,7 @@ write_i64 :: proc (use writer: ^Writer, n: i64, base: u64 = 10) { write_str(writer, s); } -write_f32 :: proc (use writer: ^Writer, f: f32) { +write_f32 :: (use writer: ^Writer, f: f32) { use package core buf : [256] u8; @@ -47,7 +47,7 @@ write_f32 :: proc (use writer: ^Writer, f: f32) { write_str(writer, s); } -write_f64 :: proc (use writer: ^Writer, f: f64) { +write_f64 :: (use writer: ^Writer, f: f64) { use package core buf : [256] u8; @@ -55,23 +55,23 @@ write_f64 :: proc (use writer: ^Writer, f: f64) { write_str(writer, s); } -write_bool :: proc (use writer: ^Writer, b: bool) { +write_bool :: (use writer: ^Writer, b: bool) { if b do write_str(writer, "true"); else do write_str(writer, "false"); } -write_ptr :: proc (use writer: ^Writer, p: ^void) { +write_ptr :: (use writer: ^Writer, p: ^void) { write_i64(writer, cast(i64) p, 16); } -write_range :: proc (use writer: ^Writer, r: range, sep := " ") { +write_range :: (use writer: ^Writer, r: range, sep := " ") { for i: r { write_i32(writer, i); if i + r.step < r.high do write_str(writer, sep); } } -write_format :: proc (use writer: ^Writer, format: str, va: ...) { +write_format :: (use writer: ^Writer, format: str, va: ...) { // POTENTIAL BUG: this buffer will need to be bigger (or dynamic). buffer: [2048] u8; write_str(writer, conv.str_format_va(format, buffer[0 .. 2048], va)); diff --git a/core/js/webgl.onyx b/core/js/webgl.onyx index 39d9a4cc..2167761c 100644 --- a/core/js/webgl.onyx +++ b/core/js/webgl.onyx @@ -722,128 +722,128 @@ GLMat2 :: #type [4] GLfloat GLMat3 :: #type [9] GLfloat GLMat4 :: #type [16] GLfloat -activeTexture :: proc (texture: GLenum) #foreign "gl" "activeTexture" --- -attachShader :: proc (program: GLProgram, shader: GLShader) -> GLProgram #foreign "gl" "attachShader" --- -bindAttribLocation :: proc (program: GLProgram, index: GLuint, name: str) #foreign "gl" "bindAttribLocation" --- -bindBuffer :: proc (target: GLenum, buffer: GLBuffer) #foreign "gl" "bindBuffer" --- -bindFramebuffer :: proc (target: GLenum, framebuffer: GLFramebuffer) #foreign "gl" "bindFramebuffer" --- -bindRenderbuffer :: proc (target: GLenum, renderbuffer: GLRenderbuffer) #foreign "gl" "bindRenderbuffer" --- -bindTexture :: proc (target: GLenum, texture: GLTexture) #foreign "gl" "bindTexture" --- -bindVertexArray :: proc (vertexArray: GLVertexArrayObject) #foreign "gl" "bindVertexArray" --- -blendColor :: proc (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) #foreign "gl" "blendColor" --- -blendEquation :: proc (mode: GLenum) #foreign "gl" "blendEquation" --- -blendEquationSeparate :: proc (modeRGB: GLenum, modeAlpha: GLenum) #foreign "gl" "blendEquationSeparate" --- -blendFunc :: proc (sfactor: GLenum, dfactor: GLenum) #foreign "gl" "blendFunc" --- -blendFuncSeparate :: proc (srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) #foreign "gl" "blendFuncSeparate" --- -blitFramebuffer :: proc (sx0: GLint, sy0: GLint, sx1: GLint, sy1: GLint, dx0: GLint, dy0: GLint, dx1: GLint, dy1: GLint, mask: GLbitfield, filter: GLenum) #foreign "gl" "blitFramebuffer" --- -bufferDataWithData :: proc (target: GLenum, buffer: [] void, usage: GLenum) #foreign "gl" "bufferDataWithData" --- -bufferDataNoData :: proc (target: GLenum, size: GLsizeiptr, usage: GLenum) #foreign "gl" "bufferDataNoData" --- -bufferData :: proc { bufferDataWithData, bufferDataNoData } -bufferSubData :: proc (target: GLenum, offset: GLsizei, data: [] void) #foreign "gl" "bufferSubData" --- -canvasSize :: proc (width: GLsizei, height: GLsizei) #foreign "gl" "canvasSize" --- -checkFrameBufferStatus :: proc (target: GLenum) -> GLenum #foreign "gl" "checkFrameBufferStatus" --- -clear :: proc (mask: GLbitfield) #foreign "gl" "clear" --- -clearColor :: proc (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) #foreign "gl" "clearColor" --- -clearDepth :: proc (depth: GLclampf) #foreign "gl" "clearDepth" --- -clearStencil :: proc (s: GLint) #foreign "gl" "clearStencil" --- -colorMask :: proc (red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) #foreign "gl" "colorMask" --- -compileShader :: proc (shader: GLShader) #foreign "gl" "compileShader" --- -compressedTexImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: str) #foreign "gl" "compressedTexImage2D" --- -compressedTexSubImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: str) #foreign "gl" "compressedTexSubImage2D" --- -copyBufferSubData :: proc (readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) #foreign "gl" "copyBufferSubData" --- -copyTexImage2D :: proc (target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) #foreign "gl" "copyTexImage2D" --- -copyTexSubImage2D :: proc (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "copyTexSubImage2D" --- -createBuffer :: proc () -> GLBuffer #foreign "gl" "createBuffer" --- -createFramebuffer :: proc () -> GLFramebuffer #foreign "gl" "createFramebuffer" --- -createProgram :: proc () -> GLProgram #foreign "gl" "createProgram" --- -createRenderbuffer :: proc () -> GLRenderbuffer #foreign "gl" "createRenderbuffer" --- -createShader :: proc (type: GLenum) -> GLShader #foreign "gl" "createShader" --- -createTexture :: proc () -> GLTexture #foreign "gl" "createTexture" --- -createVertexArray :: proc () -> GLVertexArrayObject #foreign "gl" "createVertexArray" --- -cullFace :: proc (mode: GLenum) #foreign "gl" "cullFace" --- -deleteBuffer :: proc (buffer: GLBuffer) #foreign "gl" "deleteBuffer" --- -deleteFramebuffer :: proc (framebuffer: GLFramebuffer) #foreign "gl" "deleteFramebuffer" --- -deleteProgram :: proc (program: GLProgram) #foreign "gl" "deleteProgram" --- -deleteRenderbuffer :: proc (renderbuffer: GLRenderbuffer) #foreign "gl" "deleteRenderbuffer" --- -deleteShader :: proc (shader: GLShader) #foreign "gl" "deleteShader" --- -deleteTexture :: proc (texture: GLTexture) #foreign "gl" "deleteTexture" --- -deleteVertexArray :: proc (vertexArray: GLVertexArrayObject) #foreign "gl" "deleteVertexArray" --- -depthFunc :: proc (func: GLenum) #foreign "gl" "depthFunc" --- -depthMask :: proc (flag: GLboolean) #foreign "gl" "depthMask" --- -depthRange :: proc (zNear: GLclampf, zFar: GLclampf) #foreign "gl" "depthRange" --- -detachShader :: proc (program: GLProgram, shader: GLShader) #foreign "gl" "detachShader" --- -disable :: proc (cap: GLenum) #foreign "gl" "disable" --- -disableVertexAttribArray :: proc (index: GLuint) #foreign "gl" "disableVertexAttribArray" --- -drawArrays :: proc (mode: GLenum, first: GLint, count: GLsizei) #foreign "gl" "drawArrays" --- -drawArraysInstanced :: proc (mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) #foreign "gl" "drawArraysInstanced" --- -drawElements :: proc (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint) #foreign "gl" "drawElements" --- -drawElementsInstanced :: proc (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint, instanceCount: GLsizei) #foreign "gl" "drawElementsInstanced" --- -enable :: proc (cap: GLenum) #foreign "gl" "enable" --- -enableVertexAttribArray :: proc (index: GLuint) #foreign "gl" "enableVertexAttribArray" --- -finish :: proc () #foreign "gl" "finish" --- -flush :: proc () #foreign "gl" "flush" --- -framebufferRenderbuffer :: proc (target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLRenderbuffer) #foreign "gl" "framebufferRenderbuffer" --- -framebufferTexture2D :: proc (target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLTexture, level: GLint) #foreign "gl" "framebufferTexture2D" --- -framebufferTextureLayer :: proc (target: GLenum, attachment: GLenum, texture: GLTexture, level: GLint, layer: GLint) #foreign "gl" "framebufferTextureLayer" --- -frontFace :: proc (mode: GLenum) #foreign "gl" "frontFace" --- -generateMipmap :: proc (target: GLenum) #foreign "gl" "generateMipmap" --- -getActiveAttrib :: proc (program: GLProgram, index: GLuint, out: ^GLActiveInfo) #foreign "gl" "getActiveAttrib" --- -getActiveUniform :: proc (program: GLProgram, index: GLuint, out: ^GLActiveInfo) #foreign "gl" "getActiveUniform" --- +activeTexture :: (texture: GLenum) -> void #foreign "gl" "activeTexture" --- +attachShader :: (program: GLProgram, shader: GLShader) -> GLProgram #foreign "gl" "attachShader" --- +bindAttribLocation :: (program: GLProgram, index: GLuint, name: str) -> void #foreign "gl" "bindAttribLocation" --- +bindBuffer :: (target: GLenum, buffer: GLBuffer) -> void #foreign "gl" "bindBuffer" --- +bindFramebuffer :: (target: GLenum, framebuffer: GLFramebuffer) -> void #foreign "gl" "bindFramebuffer" --- +bindRenderbuffer :: (target: GLenum, renderbuffer: GLRenderbuffer) -> void #foreign "gl" "bindRenderbuffer" --- +bindTexture :: (target: GLenum, texture: GLTexture) -> void #foreign "gl" "bindTexture" --- +bindVertexArray :: (vertexArray: GLVertexArrayObject) -> void #foreign "gl" "bindVertexArray" --- +blendColor :: (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) -> void #foreign "gl" "blendColor" --- +blendEquation :: (mode: GLenum) -> void #foreign "gl" "blendEquation" --- +blendEquationSeparate :: (modeRGB: GLenum, modeAlpha: GLenum) -> void #foreign "gl" "blendEquationSeparate" --- +blendFunc :: (sfactor: GLenum, dfactor: GLenum) -> void #foreign "gl" "blendFunc" --- +blendFuncSeparate :: (srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum) -> void #foreign "gl" "blendFuncSeparate" --- +blitFramebuffer :: (sx0: GLint, sy0: GLint, sx1: GLint, sy1: GLint, dx0: GLint, dy0: GLint, dx1: GLint, dy1: GLint, mask: GLbitfield, filter: GLenum) -> void #foreign "gl" "blitFramebuffer" --- +bufferDataWithData :: (target: GLenum, buffer: [] void, usage: GLenum) -> void #foreign "gl" "bufferDataWithData" --- +bufferDataNoData :: (target: GLenum, size: GLsizeiptr, usage: GLenum) -> void #foreign "gl" "bufferDataNoData" --- +bufferData :: { bufferDataWithData, bufferDataNoData } +bufferSubData :: (target: GLenum, offset: GLsizei, data: [] void) -> void #foreign "gl" "bufferSubData" --- +canvasSize :: (width: GLsizei, height: GLsizei) -> void #foreign "gl" "canvasSize" --- +checkFrameBufferStatus :: (target: GLenum) -> GLenum #foreign "gl" "checkFrameBufferStatus" --- +clear :: (mask: GLbitfield) -> void #foreign "gl" "clear" --- +clearColor :: (red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf) -> void #foreign "gl" "clearColor" --- +clearDepth :: (depth: GLclampf) -> void #foreign "gl" "clearDepth" --- +clearStencil :: (s: GLint) -> void #foreign "gl" "clearStencil" --- +colorMask :: (red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean) -> void #foreign "gl" "colorMask" --- +compileShader :: (shader: GLShader) -> void #foreign "gl" "compileShader" --- +compressedTexImage2D :: (target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: str) -> void #foreign "gl" "compressedTexImage2D" --- +compressedTexSubImage2D :: (target: GLenum, level: GLint, internalformat: GLenum, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: str) -> void #foreign "gl" "compressedTexSubImage2D" --- +copyBufferSubData :: (readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr) -> void #foreign "gl" "copyBufferSubData" --- +copyTexImage2D :: (target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint) -> void #foreign "gl" "copyTexImage2D" --- +copyTexSubImage2D :: (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void #foreign "gl" "copyTexSubImage2D" --- +createBuffer :: () -> GLBuffer #foreign "gl" "createBuffer" --- +createFramebuffer :: () -> GLFramebuffer #foreign "gl" "createFramebuffer" --- +createProgram :: () -> GLProgram #foreign "gl" "createProgram" --- +createRenderbuffer :: () -> GLRenderbuffer #foreign "gl" "createRenderbuffer" --- +createShader :: (type: GLenum) -> GLShader #foreign "gl" "createShader" --- +createTexture :: () -> GLTexture #foreign "gl" "createTexture" --- +createVertexArray :: () -> GLVertexArrayObject #foreign "gl" "createVertexArray" --- +cullFace :: (mode: GLenum) -> void #foreign "gl" "cullFace" --- +deleteBuffer :: (buffer: GLBuffer) -> void #foreign "gl" "deleteBuffer" --- +deleteFramebuffer :: (framebuffer: GLFramebuffer) -> void #foreign "gl" "deleteFramebuffer" --- +deleteProgram :: (program: GLProgram) -> void #foreign "gl" "deleteProgram" --- +deleteRenderbuffer :: (renderbuffer: GLRenderbuffer) -> void #foreign "gl" "deleteRenderbuffer" --- +deleteShader :: (shader: GLShader) -> void #foreign "gl" "deleteShader" --- +deleteTexture :: (texture: GLTexture) -> void #foreign "gl" "deleteTexture" --- +deleteVertexArray :: (vertexArray: GLVertexArrayObject) -> void #foreign "gl" "deleteVertexArray" --- +depthFunc :: (func: GLenum) -> void #foreign "gl" "depthFunc" --- +depthMask :: (flag: GLboolean) -> void #foreign "gl" "depthMask" --- +depthRange :: (zNear: GLclampf, zFar: GLclampf) -> void #foreign "gl" "depthRange" --- +detachShader :: (program: GLProgram, shader: GLShader) -> void #foreign "gl" "detachShader" --- +disable :: (cap: GLenum) -> void #foreign "gl" "disable" --- +disableVertexAttribArray :: (index: GLuint) -> void #foreign "gl" "disableVertexAttribArray" --- +drawArrays :: (mode: GLenum, first: GLint, count: GLsizei) -> void #foreign "gl" "drawArrays" --- +drawArraysInstanced :: (mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei) -> void #foreign "gl" "drawArraysInstanced" --- +drawElements :: (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint) -> void #foreign "gl" "drawElements" --- +drawElementsInstanced :: (mode: GLenum, count: GLsizei, type: GLenum, offset: GLint, instanceCount: GLsizei) -> void #foreign "gl" "drawElementsInstanced" --- +enable :: (cap: GLenum) -> void #foreign "gl" "enable" --- +enableVertexAttribArray :: (index: GLuint) -> void #foreign "gl" "enableVertexAttribArray" --- +finish :: () -> void #foreign "gl" "finish" --- +flush :: () -> void #foreign "gl" "flush" --- +framebufferRenderbuffer :: (target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: GLRenderbuffer) -> void #foreign "gl" "framebufferRenderbuffer" --- +framebufferTexture2D :: (target: GLenum, attachment: GLenum, textarget: GLenum, texture: GLTexture, level: GLint) -> void #foreign "gl" "framebufferTexture2D" --- +framebufferTextureLayer :: (target: GLenum, attachment: GLenum, texture: GLTexture, level: GLint, layer: GLint) -> void #foreign "gl" "framebufferTextureLayer" --- +frontFace :: (mode: GLenum) -> void #foreign "gl" "frontFace" --- +generateMipmap :: (target: GLenum) -> void #foreign "gl" "generateMipmap" --- +getActiveAttrib :: (program: GLProgram, index: GLuint, out: ^GLActiveInfo) -> void #foreign "gl" "getActiveAttrib" --- +getActiveUniform :: (program: GLProgram, index: GLuint, out: ^GLActiveInfo) -> void #foreign "gl" "getActiveUniform" --- // getAttachedShaders does not work yet because we can't return a list of things -getAttribLocation :: proc (program: GLProgram, name: str) -> GLint #foreign "gl" "getAttribLocation" --- -getBufferSubData :: proc (target: GLenum, srcByteOffset: GLintptr, dstBuffer: str, dstOffset: GLuint, length: GLuint) #foreign "gl" "getBufferSubData" --- +getAttribLocation :: (program: GLProgram, name: str) -> GLint #foreign "gl" "getAttribLocation" --- +getBufferSubData :: (target: GLenum, srcByteOffset: GLintptr, dstBuffer: str, dstOffset: GLuint, length: GLuint) -> void #foreign "gl" "getBufferSubData" --- // getBufferParameter and getParameter do not work -getError :: proc () -> GLenum #foreign "gl" "getError" --- -getInternalformatParameter :: proc (target: GLenum, internalFormat: GLenum, pname: GLenum) -> GLenum #foreign "gl" "getInternalformatParameter" --- +getError :: () -> GLenum #foreign "gl" "getError" --- +getInternalformatParameter :: (target: GLenum, internalFormat: GLenum, pname: GLenum) -> GLenum #foreign "gl" "getInternalformatParameter" --- // many of the 'gets' don't work yet because they return very javascripty things -getProgramParameter :: proc (program: GLProgram, pname: GLenum) -> GLenum #foreign "gl" "getProgramParameter" --- -getShaderParameter :: proc (shader: GLShader, pname: GLenum) -> GLenum #foreign "gl" "getShaderParameter" --- -getUniformLocation :: proc (program: GLProgram, name: str) -> GLUniformLocation #foreign "gl" "getUniformLocation" --- -getVertexAttribOffset :: proc (index: GLuint, pname: GLenum) #foreign "gl" "getVertexAttribOffset" --- -hint :: proc (target: GLenum, mode: GLenum) #foreign "gl" "hint" --- -init :: proc (canvasname: str) -> GLboolean #foreign "gl" "init" --- -invalidateFramebuffer :: proc (target: GLenum, attachments: str) #foreign "gl" "invalidateFramebuffer" --- -invalidateSubFramebuffer :: proc (target: GLenum, attachments: str, x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "invalidateSubFramebuffer" --- -isEnabled :: proc (cap: GLenum) -> GLboolean #foreign "gl" "isEnabled" --- -lineWidth :: proc (width: GLfloat) #foreign "gl" "lineWidth" --- -linkProgram :: proc (program: GLProgram) #foreign "gl" "linkProgram" --- -pixelStorei :: proc (pname: GLenum, param: GLenum) #foreign "gl" "pixelStorei" --- -polygonOffset :: proc (factor: GLfloat, units: GLfloat) #foreign "gl" "polygonOffset" --- -printProgramInfoLog :: proc (program: GLProgram) #foreign "gl" "printProgramInfoLog" --- -printShaderInfoLog :: proc (shader: GLShader) #foreign "gl" "printShaderInfoLog" --- -readBuffer :: proc (src: GLenum) #foreign "gl" "readBuffer" --- -readPixels :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: str) #foreign "gl" "readPixels" --- -renderbufferStorageMultisample :: proc (target: GLenum, samples: GLsizei, internalforamt: GLenum, width: GLsizei, height: GLsizei) #foreign "gl" "renderbufferStorageMultisample" --- -sampleCoverage :: proc (value: GLclampf, invert: GLboolean) #foreign "gl" "sampleCoverage" --- -scissor :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "scissor" --- -shaderSource :: proc (shader: GLShader, source: str) #foreign "gl" "shaderSource" --- -stencilFunc :: proc (func: GLenum, ref: GLint, mask: GLuint) #foreign "gl" "stencilFunc" --- -stencilFuncSeparate :: proc (face: GLenum, func: GLenum, ref: GLint, mask: GLuint) #foreign "gl" "stencilFuncSeparate" --- -stencilMask :: proc (mask: GLuint) #foreign "gl" "stencilMask" --- -stencilMaskSeparate :: proc (face: GLenum, mask: GLenum) #foreign "gl" "stencilMaskSeparate" --- -stencilOp :: proc (fail: GLenum, zfail: GLenum, zpass: GLenum) #foreign "gl" "stencilOp" --- -stencilOpSeparate :: proc (face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) #foreign "gl" "stencilOpSeparate" --- -texImage2D :: proc (target: GLenum, level: GLint, internalFormat: GLenum, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: str) #foreign "gl" "texImage2D" --- -texParameterf :: proc (target: GLenum, pname: GLenum, param: GLfloat) #foreign "gl" "texParameterf" --- -texParameteri :: proc (target: GLenum, pname: GLenum, param: GLint) #foreign "gl" "texParameteri" --- -texSubImage2D :: proc (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: str) #foreign "gl" "texSubImage2D" --- -uniform1f :: proc (loc: GLUniformLocation, x: GLfloat) #foreign "gl" "uniform1f" --- -uniform1i :: proc (loc: GLUniformLocation, x: GLint) #foreign "gl" "uniform1i" --- -uniform2f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat) #foreign "gl" "uniform2f" --- -uniform2i :: proc (loc: GLUniformLocation, x: GLint, y: GLint) #foreign "gl" "uniform2i" --- -uniform3f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat) #foreign "gl" "uniform3f" --- -uniform3i :: proc (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint) #foreign "gl" "uniform3i" --- -uniform4f :: proc (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) #foreign "gl" "uniform4f" --- -uniform4i :: proc (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint) #foreign "gl" "uniform4i" --- -uniformMatrix2 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat2) #foreign "gl" "uniformMatrix2" --- -uniformMatrix3 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat3) #foreign "gl" "uniformMatrix3" --- -uniformMatrix4 :: proc (loc: GLUniformLocation, transpose: GLboolean, value: GLMat4) #foreign "gl" "uniformMatrix4" --- -useProgram :: proc (program: GLProgram) #foreign "gl" "useProgram" --- -validateProgram :: proc (program: GLProgram) #foreign "gl" "validateProgram" --- -vertexAttrib1f :: proc (idx: GLuint, x: GLfloat) #foreign "gl" "vertexAttrib1f" --- -vertexAttrib2f :: proc (idx: GLuint, x: GLfloat, y: GLfloat) #foreign "gl" "vertexAttrib2f" --- -vertexAttrib3f :: proc (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) #foreign "gl" "vertexAttrib3f" --- -vertexAttrib4f :: proc (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) #foreign "gl" "vertexAttrib4f" --- -vertexAttribPointer :: proc (idx: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLint) #foreign "gl" "vertexAttribPointer" --- -vertexAttribDivisor :: proc (idx: GLuint, divisor: GLuint) #foreign "gl" "vertexAttribDivisor" --- -viewport :: proc (x: GLint, y: GLint, width: GLsizei, height: GLsizei) #foreign "gl" "viewport" --- +getProgramParameter :: (program: GLProgram, pname: GLenum) -> GLenum #foreign "gl" "getProgramParameter" --- +getShaderParameter :: (shader: GLShader, pname: GLenum) -> GLenum #foreign "gl" "getShaderParameter" --- +getUniformLocation :: (program: GLProgram, name: str) -> GLUniformLocation #foreign "gl" "getUniformLocation" --- +getVertexAttribOffset :: (index: GLuint, pname: GLenum) -> void #foreign "gl" "getVertexAttribOffset" --- +hint :: (target: GLenum, mode: GLenum) -> void #foreign "gl" "hint" --- +init :: (canvasname: str) -> GLboolean #foreign "gl" "init" --- +invalidateFramebuffer :: (target: GLenum, attachments: str) -> void #foreign "gl" "invalidateFramebuffer" --- +invalidateSubFramebuffer :: (target: GLenum, attachments: str, x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void #foreign "gl" "invalidateSubFramebuffer" --- +isEnabled :: (cap: GLenum) -> GLboolean #foreign "gl" "isEnabled" --- +lineWidth :: (width: GLfloat) -> void #foreign "gl" "lineWidth" --- +linkProgram :: (program: GLProgram) -> void #foreign "gl" "linkProgram" --- +pixelStorei :: (pname: GLenum, param: GLenum) -> void #foreign "gl" "pixelStorei" --- +polygonOffset :: (factor: GLfloat, units: GLfloat) -> void #foreign "gl" "polygonOffset" --- +printProgramInfoLog :: (program: GLProgram) -> void #foreign "gl" "printProgramInfoLog" --- +printShaderInfoLog :: (shader: GLShader) -> void #foreign "gl" "printShaderInfoLog" --- +readBuffer :: (src: GLenum) -> void #foreign "gl" "readBuffer" --- +readPixels :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: str) -> void #foreign "gl" "readPixels" --- +renderbufferStorageMultisample :: (target: GLenum, samples: GLsizei, internalforamt: GLenum, width: GLsizei, height: GLsizei) -> void #foreign "gl" "renderbufferStorageMultisample" --- +sampleCoverage :: (value: GLclampf, invert: GLboolean) -> void #foreign "gl" "sampleCoverage" --- +scissor :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void #foreign "gl" "scissor" --- +shaderSource :: (shader: GLShader, source: str) -> void #foreign "gl" "shaderSource" --- +stencilFunc :: (func: GLenum, ref: GLint, mask: GLuint) -> void #foreign "gl" "stencilFunc" --- +stencilFuncSeparate :: (face: GLenum, func: GLenum, ref: GLint, mask: GLuint) -> void #foreign "gl" "stencilFuncSeparate" --- +stencilMask :: (mask: GLuint) -> void #foreign "gl" "stencilMask" --- +stencilMaskSeparate :: (face: GLenum, mask: GLenum) -> void #foreign "gl" "stencilMaskSeparate" --- +stencilOp :: (fail: GLenum, zfail: GLenum, zpass: GLenum) -> void #foreign "gl" "stencilOp" --- +stencilOpSeparate :: (face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum) -> void #foreign "gl" "stencilOpSeparate" --- +texImage2D :: (target: GLenum, level: GLint, internalFormat: GLenum, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: str) -> void #foreign "gl" "texImage2D" --- +texParameterf :: (target: GLenum, pname: GLenum, param: GLfloat) -> void #foreign "gl" "texParameterf" --- +texParameteri :: (target: GLenum, pname: GLenum, param: GLint) -> void #foreign "gl" "texParameteri" --- +texSubImage2D :: (target: GLenum, level: GLint, xoff: GLint, yoff: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: str) -> void #foreign "gl" "texSubImage2D" --- +uniform1f :: (loc: GLUniformLocation, x: GLfloat) -> void #foreign "gl" "uniform1f" --- +uniform1i :: (loc: GLUniformLocation, x: GLint) -> void #foreign "gl" "uniform1i" --- +uniform2f :: (loc: GLUniformLocation, x: GLfloat, y: GLfloat) -> void #foreign "gl" "uniform2f" --- +uniform2i :: (loc: GLUniformLocation, x: GLint, y: GLint) -> void #foreign "gl" "uniform2i" --- +uniform3f :: (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat) -> void #foreign "gl" "uniform3f" --- +uniform3i :: (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint) -> void #foreign "gl" "uniform3i" --- +uniform4f :: (loc: GLUniformLocation, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) -> void #foreign "gl" "uniform4f" --- +uniform4i :: (loc: GLUniformLocation, x: GLint, y: GLint, z: GLint, w: GLint) -> void #foreign "gl" "uniform4i" --- +uniformMatrix2 :: (loc: GLUniformLocation, transpose: GLboolean, value: GLMat2) -> void #foreign "gl" "uniformMatrix2" --- +uniformMatrix3 :: (loc: GLUniformLocation, transpose: GLboolean, value: GLMat3) -> void #foreign "gl" "uniformMatrix3" --- +uniformMatrix4 :: (loc: GLUniformLocation, transpose: GLboolean, value: GLMat4) -> void #foreign "gl" "uniformMatrix4" --- +useProgram :: (program: GLProgram) -> void #foreign "gl" "useProgram" --- +validateProgram :: (program: GLProgram) -> void #foreign "gl" "validateProgram" --- +vertexAttrib1f :: (idx: GLuint, x: GLfloat) -> void #foreign "gl" "vertexAttrib1f" --- +vertexAttrib2f :: (idx: GLuint, x: GLfloat, y: GLfloat) -> void #foreign "gl" "vertexAttrib2f" --- +vertexAttrib3f :: (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat) -> void #foreign "gl" "vertexAttrib3f" --- +vertexAttrib4f :: (idx: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat) -> void #foreign "gl" "vertexAttrib4f" --- +vertexAttribPointer :: (idx: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLint) -> void #foreign "gl" "vertexAttribPointer" --- +vertexAttribDivisor :: (idx: GLuint, divisor: GLuint) -> void #foreign "gl" "vertexAttribDivisor" --- +viewport :: (x: GLint, y: GLint, width: GLsizei, height: GLsizei) -> void #foreign "gl" "viewport" --- diff --git a/core/map.onyx b/core/map.onyx index 8656ca78..f3e143da 100644 --- a/core/map.onyx +++ b/core/map.onyx @@ -18,13 +18,13 @@ MapEntry :: struct (K: type_expr, V: type_expr) { value : V; } -make :: proc ($Key: type_expr, $Value: type_expr, default: Value = 0, hash_count: i32 = 16) -> Map(Key, Value) { +make :: ($Key: type_expr, $Value: type_expr, default: Value = 0, hash_count: i32 = 16) -> Map(Key, Value) { map : Map(Key, Value); init(^map, default = default, hash_count = hash_count); return map; } -init :: proc (use map: ^Map($K, $V), default: V = ~~0, hash_count: i32 = 16) { +init :: (use map: ^Map($K, $V), default: V = ~~0, hash_count: i32 = 16) { array.init(^hashes, hash_count); array.init(^entries, 4); @@ -33,12 +33,12 @@ init :: proc (use map: ^Map($K, $V), default: V = ~~0, hash_count: i32 = 16) { for i: 0 .. hash_count do array.push(^hashes, -1); } -free :: proc (use map: ^Map($K, $V)) { +free :: (use map: ^Map($K, $V)) { array.free(^hashes); array.free(^entries); } -put :: proc (use map: ^Map($K, $V), key: K, value: V) { +put :: (use map: ^Map($K, $V), key: K, value: V) { lr := lookup(map, key); if lr.entry_index >= 0 { @@ -56,19 +56,19 @@ put :: proc (use map: ^Map($K, $V), key: K, value: V) { hashes[lr.hash_index] = entries.count - 1; } -has :: proc (use map: ^Map($K, $V), key: K) -> bool { +has :: (use map: ^Map($K, $V), key: K) -> bool { lr := lookup(map, key); return lr.entry_index >= 0; } -get :: proc (use map: ^Map($K, $V), key: K) -> V { +get :: (use map: ^Map($K, $V), key: K) -> V { lr := lookup(map, key); if lr.entry_index >= 0 do return entries[lr.entry_index].value; return default_value; } -delete :: proc (use map: ^Map($K, $V), key: K) { +delete :: (use map: ^Map($K, $V), key: K) { lr := lookup(map, key); if lr.entry_index < 0 do return; @@ -86,38 +86,39 @@ delete :: proc (use map: ^Map($K, $V), key: K) { else do hashes[last.hash_index] = lr.entry_index; } -update :: proc (use map: ^Map($K, $V), key: K, f: proc (^V)) { +update :: (use map: ^Map($K, $V), key: K, f: (^V) -> void) { lr := lookup(map, key); if lr.entry_index < 0 do return; f(^entries[lr.entry_index].value); } -clear :: proc (use map: ^Map($K, $V)) { +clear :: (use map: ^Map($K, $V)) { for i: 0 .. hashes.count do hashes.data[i] = -1; entries.count = 0; } -empty :: proc (use map: ^Map($K, $V)) -> bool { +empty :: (use map: ^Map($K, $V)) -> bool { return entries.count == 0; } hash_function :: proc { - proc (key: rawptr) -> u32 { return 0xcbf29ce7 ^ cast(u32) key; }, - proc (key: i32) -> u32 { return 0xcbf29ce7 ^ cast(u32) key; }, - proc (key: i64) -> u32 { return cast(u32) (cast(u64) 0xcbf29ce7 ^ cast(u64) key); }, + (key: rawptr) -> u32 { return 0xcbf29ce7 ^ cast(u32) key; }, + (key: i32) -> u32 { return 0xcbf29ce7 ^ cast(u32) key; }, + (key: i64) -> u32 { return cast(u32) (cast(u64) 0xcbf29ce7 ^ cast(u64) key); }, - proc (key: str) -> u32 { + (key: str) -> u32 { hash: u32 = 5381; for ch: key do hash += (hash << 5) + ~~ch; return hash; }, } +// CLEANUP: This could be replaced with operator overloading of '==' cmp_function :: proc { - proc (a: rawptr, b: rawptr) -> bool { return a == b; }, - proc (a: i32, b: i32) -> bool { return a == b; }, - proc (a: i64, b: i64) -> bool { return a == b; }, + (a: rawptr, b: rawptr) -> bool { return a == b; }, + (a: i32, b: i32) -> bool { return a == b; }, + (a: i64, b: i64) -> bool { return a == b; }, string.equal, } @@ -134,7 +135,7 @@ MapLookupResult :: struct { } #private_file -lookup :: proc (use map: ^Map($K, $V), key: K) -> MapLookupResult { +lookup :: (use map: ^Map($K, $V), key: K) -> MapLookupResult { lr := MapLookupResult.{}; hash: u32 = hash_function(key); // You cannot use this type for the key, unless you add an overload. diff --git a/core/math.onyx b/core/math.onyx index c205fe87..f77e60ea 100644 --- a/core/math.onyx +++ b/core/math.onyx @@ -11,7 +11,7 @@ PI :: 3.14159265f; TAU :: 6.28318330f; // Simple taylor series approximation of sin(t) -sin :: proc (t_: f32) -> f32 { +sin :: (t_: f32) -> f32 { t := t_; while t >= PI do t -= TAU; while t <= -PI do t += TAU; @@ -34,7 +34,7 @@ sin :: proc (t_: f32) -> f32 { } // Simple taylor series approximation of cos(t) -cos :: proc (t_: f32) -> f32 { +cos :: (t_: f32) -> f32 { t := t_; while t >= PI do t -= TAU; while t <= -PI do t += TAU; @@ -55,33 +55,33 @@ cos :: proc (t_: f32) -> f32 { return res; } -max :: proc (a: $T, b: T) -> T { +max :: (a: $T, b: T) -> T { if a >= b do return a; return b; } -min :: proc (a: $T, b: T) -> T { +min :: (a: $T, b: T) -> T { if a <= b do return a; return b; } -sqrt_i32 :: proc (x: i32) -> i32 do return ~~sqrt_f32(~~x); -sqrt_i64 :: proc (x: i64) -> i64 do return ~~sqrt_f64(~~x); +sqrt_i32 :: (x: i32) -> i32 do return ~~sqrt_f32(~~x); +sqrt_i64 :: (x: i64) -> i64 do return ~~sqrt_f64(~~x); sqrt :: proc { sqrt_f32, sqrt_f64, sqrt_i32, sqrt_i64 } copysign :: proc { copysign_f32, copysign_f64 } -abs_i32 :: proc (x: i32) -> i32 { +abs_i32 :: (x: i32) -> i32 { if x >= 0 do return x; return -x; } -abs_i64 :: proc (x: i64) -> i64 { +abs_i64 :: (x: i64) -> i64 { if x >= 0 do return x; return -x; } abs :: proc { abs_i32, abs_i64, abs_f32, abs_f64 } -pow_int :: proc (base: $T, p: i32) -> T { +pow_int :: (base: $T, p: i32) -> T { if base == 0 do return 0; if p == 0 do return 1; @@ -95,7 +95,7 @@ pow_int :: proc (base: $T, p: i32) -> T { return a; } -pow_float :: proc (base: $T, p: T) -> T { +pow_float :: (base: $T, p: T) -> T { if p == 0 do return 1; if p < 0 do return 1 / pow_float(base, -p); @@ -129,12 +129,12 @@ pow_float :: proc (base: $T, p: T) -> T { } pow :: proc { pow_int, pow_float } -exp :: proc (p: $T) -> T do return pow(base = cast(T) E, p = p); +exp :: (p: $T) -> T do return pow(base = cast(T) E, p = p); -ln :: proc (a: f32) -> f32 { +ln :: (a: f32) -> f32 { } -log :: proc (a: $T, b: $R) ->T { +log :: (a: $T, b: $R) ->T { } diff --git a/core/memory.onyx b/core/memory.onyx index cfa5eb5b..3ec07952 100644 --- a/core/memory.onyx +++ b/core/memory.onyx @@ -1,22 +1,22 @@ package core.memory -copy :: proc (dst_: rawptr, src_: rawptr, len: u32) { +copy :: (dst_: rawptr, src_: rawptr, len: u32) { dst := cast(^u8) dst_; src := cast(^u8) src_; for i: 0 .. len do dst[i] = src[i]; } -set :: proc (start: rawptr, length: u32, value: u8) { +set :: (start: rawptr, length: u32, value: u8) { s := cast(^u8) start; for i: 0 .. length do s[i] = value; } -alloc_slice :: proc (sl: ^[] $T, count: i32, allocator := context.allocator) { +alloc_slice :: (sl: ^[] $T, count: i32, allocator := context.allocator) { sl.data = raw_alloc(allocator, sizeof T * count); sl.count = count; } -make_slice :: proc ($T: type_expr, count: i32, allocator := context.allocator) -> [] T { +make_slice :: ($T: type_expr, count: i32, allocator := context.allocator) -> [] T { return <[] T>.{ data = raw_alloc(allocator, sizeof T * count), count = count diff --git a/core/random.onyx b/core/random.onyx index 41a17c51..97994808 100644 --- a/core/random.onyx +++ b/core/random.onyx @@ -6,15 +6,15 @@ package core.random #private_file RANDOM_INCREMENT :: 1013904223 // #private_file RANDOM_MODULUS :: 1 << 32 -set_seed :: proc (s: u32) do seed = s; +set_seed :: (s: u32) do seed = s; -int :: proc (s := ^seed) -> u32 { +int :: (s := ^seed) -> u32 { *s = *s * RANDOM_MULTIPLIER + RANDOM_INCREMENT; return *s; } -between :: proc (lo: i32, hi: i32) -> i32 do return int () % (hi + 1 - lo) + lo; +between :: (lo: i32, hi: i32) -> i32 do return int () % (hi + 1 - lo) + lo; -float :: proc (lo := 0.0f, hi := 1.0f) -> f32 { +float :: (lo := 0.0f, hi := 1.0f) -> f32 { return (cast(f32) (int() % (1 << 20)) / cast(f32) (1 << 20)) * (hi - lo) + lo; } diff --git a/core/stdio.onyx b/core/stdio.onyx index c0a235e7..39f0c431 100644 --- a/core/stdio.onyx +++ b/core/stdio.onyx @@ -14,34 +14,34 @@ use package system as system #private_file print_stream : io.DynamicStringStream; #private_file print_writer : io.Writer; -stdio_init :: proc () { +stdio_init :: () { print_stream = io.dynamic_string_stream_make(2048, context.allocator); print_writer = io.writer_make(^print_stream); } print :: proc { - proc (x: str) { + (x: str) { io.write(^print_writer, x); if x[x.count - 1] == #char "\n" do print_stream_flush(); }, - proc (x: $T) { io.write(^print_writer, x); }, - proc (x: $T, y: $R) { io.write(^print_writer, x, y); }, + (x: $T) { io.write(^print_writer, x); }, + (x: $T, y: $R) { io.write(^print_writer, x, y); }, } -println :: proc (x: $T) { +println :: (x: $T) { print(x); print("\n"); } -printf :: proc (format: str, va: ...) { +printf :: (format: str, va: ...) { buffer: [2048] u8; print(conv.str_format_va(format, buffer[0 .. 2048], va)); } // This works on both slices and arrays print_array :: proc { - proc (arr: [$N] $T, sep := " ") { + (arr: [$N] $T, sep := " ") { for i: 0 .. N { print(arr[i]); if i != N - 1 do print(sep); @@ -50,7 +50,7 @@ print_array :: proc { print("\n"); }, - proc (arr: $T, sep := " ") { + (arr: $T, sep := " ") { for i: 0 .. arr.count { print(arr.data[i]); if i != arr.count - 1 do print(sep); @@ -60,7 +60,7 @@ print_array :: proc { } } -print_stream_flush :: proc () { +print_stream_flush :: () { if print_stream.data.count == 0 do return; ^print_stream diff --git a/core/string.onyx b/core/string.onyx index 9f70b6fb..ffbde7f3 100644 --- a/core/string.onyx +++ b/core/string.onyx @@ -1,13 +1,13 @@ package core.string -make :: proc (s: cstr) -> str { +make :: (s: cstr) -> str { len := length(s); return str.{ count = len, data = s }; } length :: proc { - proc (s: cstr) -> u32 { + (s: cstr) -> u32 { len := 0; c := s; while *c != #char "\0" { @@ -18,12 +18,12 @@ length :: proc { return len; }, - proc (s: str) -> u32 { + (s: str) -> u32 { return s.count; }, } -alloc_copy :: proc (orig: str) -> str { +alloc_copy :: (orig: str) -> str { new_str : str; new_str.data = calloc(sizeof u8 * orig.count); new_str.count = orig.count; @@ -31,14 +31,14 @@ alloc_copy :: proc (orig: str) -> str { return new_str; } -copy :: proc (orig: str, dest: str) { +copy :: (orig: str, dest: str) { len := orig.count; if dest.count < len do len = dest.count; for i: 0 .. len do dest.data[i] = orig.data[i]; } -concat :: proc (s1: str, s2: str) -> str { +concat :: (s1: str, s2: str) -> str { len1 := length(s1); len2 := length(s2); @@ -49,12 +49,12 @@ concat :: proc (s1: str, s2: str) -> str { return str.{ data, len1 + len2 }; } -free :: proc (s: str) do cfree(s.data); +free :: (s: str) do cfree(s.data); // This is an example doc str // You can have as many comments as you want // It documents the split function -split :: proc (s: str, delim: u8) -> []str { +split :: (s: str, delim: u8) -> []str { delim_count := 0; for i: 0 .. s.count do if s[i] == delim do delim_count += 1; @@ -88,14 +88,14 @@ split :: proc (s: str, delim: u8) -> []str { // return str.data[0 .. 0]; // } -contains :: proc (s: str, c: u8) -> bool { +contains :: (s: str, c: u8) -> bool { for ch: s do if ch == c do return true; return false; } -// TODO: Check this proc for edge cases and other bugs. I'm not confident +// TODO: Check this for edge cases and other bugs. I'm not confident // it will work perfectly yet. - brendanfh 2020/12/21 -compare :: proc (str1: str, str2: str) -> i32 { +compare :: (str1: str, str2: str) -> i32 { i := 0; while i < str1.count && i < str2.count && str1[i] == str2[i] do i += 1; @@ -103,7 +103,7 @@ compare :: proc (str1: str, str2: str) -> i32 { return ~~(str1[i] - str2[i]); } -equal :: proc (str1: str, str2: str) -> bool #operator== { +equal :: (str1: str, str2: str) -> bool #operator== { if str1.count != str2.count do return false; while i := 0; i < str1.count { if str1[i] != str2[i] do return false; @@ -112,7 +112,7 @@ equal :: proc (str1: str, str2: str) -> bool #operator== { return true; } -starts_with :: proc (str1: str, str2: str) -> bool { +starts_with :: (str1: str, str2: str) -> bool { if str1.count < str2.count do return false; while i := 0; i < str2.count { if str1[i] != str2[i] do return false; @@ -121,7 +121,7 @@ starts_with :: proc (str1: str, str2: str) -> bool { return true; } -strip_leading_whitespace :: proc (s: ^str) { +strip_leading_whitespace :: (s: ^str) { while true do switch s.data[0] { case #char " ", #char "\t", #char "\n", #char "\r" { s.data += 1; @@ -132,7 +132,7 @@ strip_leading_whitespace :: proc (s: ^str) { } } -strip_trailing_whitespace :: proc (s: ^str) { +strip_trailing_whitespace :: (s: ^str) { while true do switch s.data[s.count - 1] { case #char " ", #char "\t", #char "\n", #char "\r" { s.count -= 1; @@ -143,7 +143,7 @@ strip_trailing_whitespace :: proc (s: ^str) { } -read_u32 :: proc (s: ^str, out: ^u32) { +read_u32 :: (s: ^str, out: ^u32) { n := 0; strip_leading_whitespace(s); @@ -158,26 +158,26 @@ read_u32 :: proc (s: ^str, out: ^u32) { *out = n; } -read_char :: proc (s: ^str, out: ^u8) { +read_char :: (s: ^str, out: ^u8) { *out = s.data[0]; s.data += 1; s.count -= 1; } -read_chars :: proc (s: ^str, out: ^str, char_count := 1) { +read_chars :: (s: ^str, out: ^str, char_count := 1) { out.data = s.data; out.count = char_count; s.data += char_count; s.count -= char_count; } -discard_chars :: proc (s: ^str, char_count := 1) { +discard_chars :: (s: ^str, char_count := 1) { s.data += char_count; s.count -= char_count; } // Goes up to but not including the closest newline or EOF -read_line :: proc (s: ^str, out: ^str) { +read_line :: (s: ^str, out: ^str) { out.data = s.data; out.count = 0; @@ -195,7 +195,7 @@ read_line :: proc (s: ^str, out: ^str) { } } -read_until :: proc (s: ^str, upto: u8, skip := 0) -> str { +read_until :: (s: ^str, upto: u8, skip := 0) -> str { if s.count == 0 do return ""; out : str; @@ -218,7 +218,7 @@ read_until :: proc (s: ^str, upto: u8, skip := 0) -> str { return out; } -read_until_either :: proc (s: ^str, skip: u32, uptos: ..u8) -> str { +read_until_either :: (s: ^str, skip: u32, uptos: ..u8) -> str { if s.count == 0 do return ""; out : str; @@ -243,7 +243,7 @@ read_until_either :: proc (s: ^str, skip: u32, uptos: ..u8) -> str { return out; } -advance_line :: proc (s: ^str) { +advance_line :: (s: ^str) { if s.count == 0 do return; adv := 0; diff --git a/core/sys/js.onyx b/core/sys/js.onyx index 35957198..f9b223c9 100644 --- a/core/sys/js.onyx +++ b/core/sys/js.onyx @@ -3,9 +3,9 @@ package system use package core use package main as main -output_str :: proc (s: str) -> u32 #foreign "host" "print_str" --- +output_str :: (s: str) -> u32 #foreign "host" "print_str" --- -assert_handler :: proc (msg: str, file: str) { +assert_handler :: (msg: str, file: str) { output_str("Assert failed: "); output_str(msg); diff --git a/core/sys/wasi.onyx b/core/sys/wasi.onyx index 80ad80ce..6fc9122d 100644 --- a/core/sys/wasi.onyx +++ b/core/sys/wasi.onyx @@ -8,7 +8,7 @@ use package main as main STDOUT_FILENO :: 1 -output_str :: proc (s: str) -> u32 { +output_str :: (s: str) -> u32 { vec := IOVec.{ buf = cast(u32) s.data, len = s.count }; tmp : Size; fd_write(STDOUT_FILENO, IOVecArray.{ cast(u32) ^vec, 1 }, ^tmp); @@ -16,7 +16,7 @@ output_str :: proc (s: str) -> u32 { return tmp; } -assert_handler :: proc (msg: str, file: str) { +assert_handler :: (msg: str, file: str) { output_str("Assert failed: "); output_str(msg); diff --git a/core/wasi.onyx b/core/wasi.onyx index a52e980d..1383f60d 100644 --- a/core/wasi.onyx +++ b/core/wasi.onyx @@ -364,44 +364,43 @@ IOVecArray :: struct { // FUNCTIONS -args_get :: proc (argv: ^^u8, argv_buf: ^u8) -> Errno #foreign "wasi_unstable" "args_get"--- -args_sizes_get :: proc (argc: ^Size, argv_buf_size: ^Size) -> Errno #foreign "wasi_unstable" "args_sizes_get" --- - -environ_get :: proc (environ: ^^u8, environ_buf: ^u8) -> Errno #foreign "wasi_unstable" "environ_get" --- -environ_sizes_get :: proc (environc: ^Size, environ_buf_size: ^Size) -> Errno #foreign "wasi_unstable" "environ_sizes_get" --- - -clock_res_get :: proc (id: ClockID, resolution: ^Timestamp) -> Errno #foreign "wasi_unstable" "clock_res_get" --- -clock_time_get :: proc (id: ClockID, precision: Timestamp, time: ^Timestamp) -> Errno #foreign "wasi_unstable" "clock_time_get" --- - -fd_advise :: proc (fd: FileDescriptor, offset: Filesize, len: Filesize, advice: Advice) -> Errno #foreign "wasi_unstable" "fd_advise" --- -fd_allocate :: proc (fd: FileDescriptor, offset: Filesize, len: Filesize) -> Errno #foreign "wasi_unstable" "fd_allocate" --- -fd_close :: proc (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_close" --- -fd_datasync :: proc (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_datasync" --- -fd_fdstat_get :: proc (fd: FileDescriptor, stat: ^FDStat) -> Errno #foreign "wasi_unstable" "fd_fdstat_get" --- -fd_fdstat_set_flags :: proc (fd: FileDescriptor, flags: FDFlags) -> Errno #foreign "wasi_unstable" "fd_fdstat_set_flags" --- -fd_fdstat_set_rights :: proc (fd: FileDescriptor, rights_base: Rights, rights_inheriting: Rights) -> Errno #foreign "wasi_unstable" "fd_fdstat_set_rights" --- -fd_filestat_get :: proc (fd: FileDescriptor, buf: ^FileStat) -> Errno #foreign "wasi_unstable" "fd_filestat_get" --- -fd_filestat_set_size :: proc (fd: FileDescriptor, size: Filesize) -> Errno #foreign "wasi_unstable" "fd_filestat_set_size" --- -fd_filestat_set_times :: proc (fd: FileDescriptor, atim: Timestamp, mtim: Timestamp, fst_flags: FSTFlags) -> Errno #foreign "wasi_unstable" "fd_filestat_set_times" --- -fd_pread :: proc (fd: FileDescriptor, iovs: IOVecArray, offset: Filesize, nread: ^Size) -> Errno #foreign "wasi_unstable" "fd_pread" --- -fd_prestat_get :: proc (fd: FileDescriptor, buf: ^PrestatTagged) -> Errno #foreign "wasi_unstable" "fd_prestat_get" --- -fd_prestat_dir_name :: proc (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "fd_prestat_dir_name" --- -fd_pwrite :: proc (fd: FileDescriptor, iovs: IOVecArray, offset: Filesize, nwritten: ^Size) -> Errno #foreign "wasi_unstable" "fd_pwrite" --- -fd_read :: proc (fd: FileDescriptor, iovs: IOVecArray, nread: ^Size) -> Errno #foreign "wasi_unstable" "fd_read" --- -fd_readdir :: proc (fd: FileDescriptor, buf: ^u8, buf_len: Size, cookie: DirCookie, bufused: ^Size) -> Errno #foreign "wasi_unstable" "fd_readdir" --- -fd_renumber :: proc (fd: FileDescriptor, to: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_renumber" --- -fd_seek :: proc (fd: FileDescriptor, offset: FileDelta, whence: Whence, newoffset: ^Filesize) -> Errno #foreign "wasi_unstable" "fd_seek" --- -fd_sync :: proc (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_sync" --- -fd_tell :: proc (fd: FileDescriptor, offset: ^Filesize) -> Errno #foreign "wasi_unstable" "fd_tell" --- -fd_write :: proc (fd: FileDescriptor, iovs: IOVecArray, nwritten: ^Size) -> Errno #foreign "wasi_unstable" "fd_write" --- - -path_create_directory :: proc (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_create_directory" --- -path_filestat_get :: proc (fd: FileDescriptor, flags: LookupFlags, path: str, buf: ^FileStat) -> Errno #foreign "wasi_unstable" "path_filestat_get" --- -path_filestat_set_times :: proc (fd: FileDescriptor, flags: LookupFlags, path: str, atim: Timestamp, mtim: Timestamp, fst_flags: FSTFlags) -> Errno #foreign "wasi_unstable" "path_filestat_set_times" --- - -path_link :: proc (fd: FileDescriptor, old_flags: LookupFlags, old_path: str, new_fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_link" --- -path_open :: proc - ( fd: FileDescriptor +args_get :: (argv: ^^u8, argv_buf: ^u8) -> Errno #foreign "wasi_unstable" "args_get"--- +args_sizes_get :: (argc: ^Size, argv_buf_size: ^Size) -> Errno #foreign "wasi_unstable" "args_sizes_get" --- + +environ_get :: (environ: ^^u8, environ_buf: ^u8) -> Errno #foreign "wasi_unstable" "environ_get" --- +environ_sizes_get :: (environc: ^Size, environ_buf_size: ^Size) -> Errno #foreign "wasi_unstable" "environ_sizes_get" --- + +clock_res_get :: (id: ClockID, resolution: ^Timestamp) -> Errno #foreign "wasi_unstable" "clock_res_get" --- +clock_time_get :: (id: ClockID, precision: Timestamp, time: ^Timestamp) -> Errno #foreign "wasi_unstable" "clock_time_get" --- + +fd_advise :: (fd: FileDescriptor, offset: Filesize, len: Filesize, advice: Advice) -> Errno #foreign "wasi_unstable" "fd_advise" --- +fd_allocate :: (fd: FileDescriptor, offset: Filesize, len: Filesize) -> Errno #foreign "wasi_unstable" "fd_allocate" --- +fd_close :: (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_close" --- +fd_datasync :: (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_datasync" --- +fd_fdstat_get :: (fd: FileDescriptor, stat: ^FDStat) -> Errno #foreign "wasi_unstable" "fd_fdstat_get" --- +fd_fdstat_set_flags :: (fd: FileDescriptor, flags: FDFlags) -> Errno #foreign "wasi_unstable" "fd_fdstat_set_flags" --- +fd_fdstat_set_rights :: (fd: FileDescriptor, rights_base: Rights, rights_inheriting: Rights) -> Errno #foreign "wasi_unstable" "fd_fdstat_set_rights" --- +fd_filestat_get :: (fd: FileDescriptor, buf: ^FileStat) -> Errno #foreign "wasi_unstable" "fd_filestat_get" --- +fd_filestat_set_size :: (fd: FileDescriptor, size: Filesize) -> Errno #foreign "wasi_unstable" "fd_filestat_set_size" --- +fd_filestat_set_times :: (fd: FileDescriptor, atim: Timestamp, mtim: Timestamp, fst_flags: FSTFlags) -> Errno #foreign "wasi_unstable" "fd_filestat_set_times" --- +fd_pread :: (fd: FileDescriptor, iovs: IOVecArray, offset: Filesize, nread: ^Size) -> Errno #foreign "wasi_unstable" "fd_pread" --- +fd_prestat_get :: (fd: FileDescriptor, buf: ^PrestatTagged) -> Errno #foreign "wasi_unstable" "fd_prestat_get" --- +fd_prestat_dir_name :: (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "fd_prestat_dir_name" --- +fd_pwrite :: (fd: FileDescriptor, iovs: IOVecArray, offset: Filesize, nwritten: ^Size) -> Errno #foreign "wasi_unstable" "fd_pwrite" --- +fd_read :: (fd: FileDescriptor, iovs: IOVecArray, nread: ^Size) -> Errno #foreign "wasi_unstable" "fd_read" --- +fd_readdir :: (fd: FileDescriptor, buf: ^u8, buf_len: Size, cookie: DirCookie, bufused: ^Size) -> Errno #foreign "wasi_unstable" "fd_readdir" --- +fd_renumber :: (fd: FileDescriptor, to: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_renumber" --- +fd_seek :: (fd: FileDescriptor, offset: FileDelta, whence: Whence, newoffset: ^Filesize) -> Errno #foreign "wasi_unstable" "fd_seek" --- +fd_sync :: (fd: FileDescriptor) -> Errno #foreign "wasi_unstable" "fd_sync" --- +fd_tell :: (fd: FileDescriptor, offset: ^Filesize) -> Errno #foreign "wasi_unstable" "fd_tell" --- +fd_write :: (fd: FileDescriptor, iovs: IOVecArray, nwritten: ^Size) -> Errno #foreign "wasi_unstable" "fd_write" --- + +path_create_directory :: (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_create_directory" --- +path_filestat_get :: (fd: FileDescriptor, flags: LookupFlags, path: str, buf: ^FileStat) -> Errno #foreign "wasi_unstable" "path_filestat_get" --- +path_filestat_set_times :: (fd: FileDescriptor, flags: LookupFlags, path: str, atim: Timestamp, mtim: Timestamp, fst_flags: FSTFlags) -> Errno #foreign "wasi_unstable" "path_filestat_set_times" --- + +path_link :: (fd: FileDescriptor, old_flags: LookupFlags, old_path: str, new_fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_link" --- +path_open :: (fd: FileDescriptor , dirflags: LookupFlags , path: str , oflags: OFlags @@ -412,24 +411,24 @@ path_open :: proc ) -> Errno #foreign "wasi_unstable" "path_open" --- -path_readlink :: proc (fd: FileDescriptor, path: str, buf: ^u8, buf_len: Size, bufused: ^Size) -> Errno #foreign "wasi_unstable" "path_readlink" --- -path_remove_directory :: proc (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_remove_directory" --- -path_rename :: proc (fd: FileDescriptor, old_path: str, new_fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_rename" --- -path_symlink :: proc (old_path: ^u8, old_path_len: Size, fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_symlink" --- -path_unlink_file :: proc (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_unlink_file" --- +path_readlink :: (fd: FileDescriptor, path: str, buf: ^u8, buf_len: Size, bufused: ^Size) -> Errno #foreign "wasi_unstable" "path_readlink" --- +path_remove_directory :: (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_remove_directory" --- +path_rename :: (fd: FileDescriptor, old_path: str, new_fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_rename" --- +path_symlink :: (old_path: ^u8, old_path_len: Size, fd: FileDescriptor, new_path: str) -> Errno #foreign "wasi_unstable" "path_symlink" --- +path_unlink_file :: (fd: FileDescriptor, path: str) -> Errno #foreign "wasi_unstable" "path_unlink_file" --- -poll_oneoff :: proc (in: ^Subscription, out: ^Event, nsubscriptions: Size, nevents: ^Size) -> Errno #foreign "wasi_unstable" "poll_oneoff" --- +poll_oneoff :: (in: ^Subscription, out: ^Event, nsubscriptions: Size, nevents: ^Size) -> Errno #foreign "wasi_unstable" "poll_oneoff" --- -proc_exit :: proc (rval: ExitCode) #foreign "wasi_unstable" "proc_exit" --- -proc_raise :: proc (sig: Signal) -> Errno #foreign "wasi_unstable" "proc_raise" --- +proc_exit :: (rval: ExitCode) -> void #foreign "wasi_unstable" "proc_exit" --- +proc_raise :: (sig: Signal) -> Errno #foreign "wasi_unstable" "proc_raise" --- -sched_yield :: proc () -> Errno #foreign "wasi_unstable" "sched_yield" --- +sched_yield :: () -> Errno #foreign "wasi_unstable" "sched_yield" --- -random_get :: proc (buf: ^u8, buf_len: Size) -> Errno #foreign "wasi_unstable" "random_get" --- +random_get :: (buf: ^u8, buf_len: Size) -> Errno #foreign "wasi_unstable" "random_get" --- -sock_recv :: proc (fd: FileDescriptor, ri_data: IOVecArray, ri_flags: RIFlags, ro_datalen: ^Size, ro_flags: ^ROFlags) -> Errno #foreign "wasi_unstable" "sock_recv" --- -sock_send :: proc (fd: FileDescriptor, si_data: IOVecArray, si_flags: SIFlags, so_datalen: ^Size) -> Errno #foreign "wasi_unstable" "sock_send" --- -sock_shutdown :: proc (fd: FileDescriptor, how: SDFlags) -> Errno #foreign "wasi_unstable" "sock_shutdown" --- +sock_recv :: (fd: FileDescriptor, ri_data: IOVecArray, ri_flags: RIFlags, ro_datalen: ^Size, ro_flags: ^ROFlags) -> Errno #foreign "wasi_unstable" "sock_recv" --- +sock_send :: (fd: FileDescriptor, si_data: IOVecArray, si_flags: SIFlags, so_datalen: ^Size) -> Errno #foreign "wasi_unstable" "sock_send" --- +sock_shutdown :: (fd: FileDescriptor, how: SDFlags) -> Errno #foreign "wasi_unstable" "sock_shutdown" --- diff --git a/docs/bugs b/docs/bugs index 1b282cb3..9bc84678 100644 --- a/docs/bugs +++ b/docs/bugs @@ -1,110 +1 @@ -List of known bugs: - -[X] Using an auto-cast on an argument when calling an overloaded proc leads - to an unexpected error. Take the following example: - ``` - overloaded :: proc { - proc (x: f32, y: str) ---, - proc (x: i32, y: i32) ---, - } - - foo :: proc () { - x: i32 = 1234; - overloaded(~~x, 4); - } - ``` - Compiles with the following error: - ``` - (/home/brendan/dev/c/onyx/a.onyx:8,15) unable to match overloaded function with provided argument types: (f32, unsized int) - 8 | overloaded(~~x, 4); - ``` - - This is because in trying the first overload, the auto-cast is consumed - and converted to a cast(f32). Then, when it doesn't match the first one - and it tries the second, the parameter types are f32 and unsized int, - which is doesn't match the second one, when the original parameters would - have matched correctly. - -[X] `defer` statements are not executed at the end of a loop if the loop is - exited using a `break` statement, or a `continue` statement. The semantics - of this need to change because it is not expected behaviour. Also it would - prevent the usefulness of this pattern: - ``` - while i := 0; i < 10 { - defer i += 1; - ... - } - ``` - Since `continue`ing or `break`ing would skip the deferred statement, causing - an infinite loop. - -[X] The following code causes an infinite loop somewhere. - ``` - get_neighbor_count :: proc (grid: ^map.Map(Vec2, Cell), pos: Vec2) -> u32 { - count := 0; - - for ^dir: Hex_Directions { - pos := Vec2.{ x = pos.x + dir.x, y = pos.y + dir.y }; - cell := map.get(grid, pos, Cell.{}); - if cell.alive do count += 1; - } - - return count; - } - ``` - -[X] Polymorphic structs do not recognize default values for members. - -[X] `use` on struct members does not work correctly if the type is a union. - ``` - BadUnion :: struct { - use container : struct #union { - int: i32; - float: f32; - }; - } - - test :: proc () do print(sizeof BadUnion == 4); - ``` - -[X] `use` on struct members breaks struct literals. - ``` - Vec2 :: struct { x: i32; y: i32; } - Entity :: struct { use pos: Vec2; } - - e := Entity.{ pos = Vec2.{ 1, 2 } }; - - // This does work already. - e2 := Entity.{ x = 1, y = 2 }; - ``` - -[X] `TileData :: [TILE_DATA_WIDTH * TILE_DATA_HEIGHT] bool;` results in a - segfault because it is an invalid top level node, but that is not checked - before it is tried to be used. - -[X] `TileData :: #type [TILE_DATA_WIDTH * TILE_DATA_HEIGHT] bool;` produces the - following error: - ``` - (/home/brendan/dev/onyx/aoc/day20.onyx:25,19) Array type expects type 'i32' for size, got 'unsized int'. - 25 | TileData :: #type [TILE_DATA_WIDTH * TILE_DATA_HEIGHT] bool; - ``` - - This because the expression for the array size is not reducing and getting - converted to the fixed size integer. I suspect this is because for sizeof - and alignof expression, `fill_in_type` is not used, and that function has - the logic to handle the array subscript reduction and type resolution. - -[X] The following struct is causing a seg fault in the compiler. I believe it - is because of the duplicate struct member names and failing to get the position - in the file to report the error. - ``` - Tile :: struct { - id : u32; - orientation : TileOrientation; - data : [] bool; - edges : [] u32; - - pos_x : u32 = 0; - pos_x : u32 = 0; - } - ``` +List of known bugs: \ No newline at end of file diff --git a/docs/new_hash_plan b/docs/new_hash_plan deleted file mode 100644 index cf706249..00000000 --- a/docs/new_hash_plan +++ /dev/null @@ -1,50 +0,0 @@ -The state of the hash implementation right now: - - (allocator + 1021 ptrs = 8192 bytes (HUGE)) - +--------------------------------------------------------- -table ----> | allocator | ptr | ptr | ptr | ptr | ptr | ptr | ptr ... - +-------------||------------------------------------------ - \/ - +--------------+------------------------------------------------------ - | Array header | key (64-bytes) | value | key (64-bytes) | value | ... - +--------------+------------------------------------------------------ - -There are a couple of issues with this implementation: - * The table of pointers is absolutely huge. - It takes up about 2 pages of memory and we are randomly accessing it - so it will not be cache efficient. - * The keys are always the same size. - They are normally way too large, but also they would cut off if you - needed a large key. - - - -THIS WORKED VERY WELL! -Attempt 1 to fix these issues: - - (user defined number of ptrs) - +----------------------------------------------------------- -table ----> | allocator | hash size | ptr | ptr | ptr | ptr | ptr | ... - +-------------------------||-------------------------------- - \/ - +--------------+------------------------------------------------------------------------ - | Array header | length | value | key_length | key (null terminated) | v | kl | k | ... - +--------------+------------------------------------------------------------------------ - -GOOD: - * This implementation would allow for any size of key. - Initial thoughts: - - Alignment is going to be very important. - - Alignment will need to be by hand. - - Aligning to 8 bytes should be sufficient. - - The array would just be considered as a u8 array, since each element - wouldn't be the same size. - - Random access into the array would not be allowed for the same reason. - - Random access will not be needed however. - * This implementation still allows for easy iterator traversal, which is - important for the immediate use case. - -BAD: - * The fact that the number of pointers is user defined, the hashing algorithm could - be drastically slowed / crippled if they choose a bad number of pointers. - * This implementation still takes a very large number of allocations. diff --git a/docs/todo b/docs/todo index 5d0dc479..cdbeaf3b 100644 --- a/docs/todo +++ b/docs/todo @@ -12,7 +12,6 @@ Command Line Interface: [X] Remove old code from CLI logic [X] Add statistic printing [ ] Fix documentation generation (broken since compiler architecture change) - [ ] Fix AST printing (broken for a long time) [ ] Add automated running component - Store to temporary file (OS independent) - Detect / choose WASM backend @@ -145,8 +144,10 @@ API Expansion: it conflicts with 'builtin.string'. These two should be switched. Type name should be 'str' and package name should be 'string' - [ ] Expand capabilities of file api on WASI. + [X] Expand capabilities of file api on WASI. + [ ] Add file capabilities to JS backend [ ] Add clock / time api for both backends + [ ] Environment variables for both backends [ ] Better random number api [ ] Better string formatting and parsing api diff --git a/examples/01_hello_world.onyx b/examples/01_hello_world.onyx index 571b3ad5..accfe9dd 100644 --- a/examples/01_hello_world.onyx +++ b/examples/01_hello_world.onyx @@ -51,7 +51,7 @@ use package core // end it simply calls main.main, which is this procedure. By convention, main takes a slice // of cstr's, which were the arguments passed from the command line. We will talk about // slices later. -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // This is the actual call to print, which will print the message 'Hello World!\n' onto the screen. // It is not too important to know how this works, but if you are interested you can find the diff --git a/examples/02_variables.onyx b/examples/02_variables.onyx index f2f20ab5..e0a83a75 100644 --- a/examples/02_variables.onyx +++ b/examples/02_variables.onyx @@ -5,7 +5,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // This is the syntax for declaring a local variable in a procedure. foo: i32; diff --git a/examples/03_basics.onyx b/examples/03_basics.onyx index 6e709572..fa45ac56 100644 --- a/examples/03_basics.onyx +++ b/examples/03_basics.onyx @@ -4,7 +4,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // Here is a list of all the builtin types: // void // bool diff --git a/examples/04_fixed_arrays.onyx b/examples/04_fixed_arrays.onyx index aa516a16..91bcace7 100644 --- a/examples/04_fixed_arrays.onyx +++ b/examples/04_fixed_arrays.onyx @@ -19,7 +19,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // The following declares a fixed-size array of 10 i32s on the stack. Currently, // it is not guaranteed that `arr` will be zero initialized, so we will do that // with a for loop. Note, the `^` after the for keyword means we are iterating by @@ -42,7 +42,7 @@ main :: proc (args: [] cstr) { // Fixed-size arrays are passed to procedures by reference. In the following example, // the array `arr` is passed by reference so when the for loop changes the // contents of `array_param`, the contents of `arr` are changed as well. - array_proc :: proc (array_param: [10] i32) { + array_proc :: (array_param: [10] i32) { for i: 0 .. 10 { array_param[i] = 1000 + i; } diff --git a/examples/05_slices.onyx b/examples/05_slices.onyx index 182052db..ac9ef020 100644 --- a/examples/05_slices.onyx +++ b/examples/05_slices.onyx @@ -9,7 +9,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // A dummy array to demonstrate. arr := i32.[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ]; diff --git a/examples/06_dynamic_arrays.onyx b/examples/06_dynamic_arrays.onyx index 5738d5ff..16b95386 100644 --- a/examples/06_dynamic_arrays.onyx +++ b/examples/06_dynamic_arrays.onyx @@ -11,7 +11,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // Declaring dynamic arrays in Onyx looks like this. The // '..' makes it a dynamic array, as opposed to a slice // or fixed size array. diff --git a/examples/07_structs.onyx b/examples/07_structs.onyx index bacf8d67..9e9d59a6 100644 --- a/examples/07_structs.onyx +++ b/examples/07_structs.onyx @@ -9,7 +9,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // This is the basic struct syntax. Members are declared just like // local variables in procedures. @@ -20,7 +20,7 @@ main :: proc (args: [] cstr) { } // Structs can be passed by value to procedures. - print_person :: proc (person: Person) { + print_person :: (person: Person) { printf("Person(%s, %i, %i)\n", person.name, person.age, person.height); } @@ -59,7 +59,7 @@ main :: proc (args: [] cstr) { y : f32 = 34; } - print_vector2f :: proc (vec: Vector2f) { + print_vector2f :: (vec: Vector2f) { printf("Vector2f(%f, %f)", vec.x, vec.y); } diff --git a/examples/08_enums.onyx b/examples/08_enums.onyx index 64fbd39d..fcee0f50 100644 --- a/examples/08_enums.onyx +++ b/examples/08_enums.onyx @@ -5,7 +5,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // To declare a simple, use the enum keyword. SimpleEnum :: enum { Value1; Value2; Value3; diff --git a/examples/09_for_loops.onyx b/examples/09_for_loops.onyx index 17d495d5..a8911705 100644 --- a/examples/09_for_loops.onyx +++ b/examples/09_for_loops.onyx @@ -8,7 +8,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // Currently, for loops can iterate over four kinds of data structures in Onyx: // * Ranges // * Fixed arrays diff --git a/examples/10_switch_statements.onyx b/examples/10_switch_statements.onyx index c337300c..3336f44d 100644 --- a/examples/10_switch_statements.onyx +++ b/examples/10_switch_statements.onyx @@ -2,7 +2,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { x := 10 + 3 * 5; // The basic syntax of a switch statement: diff --git a/examples/11_map.onyx b/examples/11_map.onyx index 02af59ee..064edf5a 100644 --- a/examples/11_map.onyx +++ b/examples/11_map.onyx @@ -2,7 +2,7 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // Onyx does not have map type built into the language semantics, // but using polymorphic structs and overloaded procedures, it does // provide an 'any-to-any' hash map in it's core libraries. @@ -29,7 +29,7 @@ main :: proc (args: [] cstr) { map.put(^ages, "Pam", 24); // To retrieve an entry's value, use the map.get procedure. - print_age :: proc (ages: ^map.Map(str, u32), name: str) { + print_age :: (ages: ^map.Map(str, u32), name: str) { age := map.get(ages, name); printf("%s's age is %i.\n", name, age); } diff --git a/examples/12_varargs.onyx b/examples/12_varargs.onyx index b8d94c49..a2e4dea1 100644 --- a/examples/12_varargs.onyx +++ b/examples/12_varargs.onyx @@ -2,5 +2,5 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { } diff --git a/examples/13_use_keyword.onyx b/examples/13_use_keyword.onyx index b8d94c49..a2e4dea1 100644 --- a/examples/13_use_keyword.onyx +++ b/examples/13_use_keyword.onyx @@ -2,5 +2,5 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { } diff --git a/examples/14_overloaded_procs.onyx b/examples/14_overloaded_procs.onyx index b8d94c49..a2e4dea1 100644 --- a/examples/14_overloaded_procs.onyx +++ b/examples/14_overloaded_procs.onyx @@ -2,5 +2,5 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { } diff --git a/examples/15_polymorphic_procs.onyx b/examples/15_polymorphic_procs.onyx index b8d94c49..a2e4dea1 100644 --- a/examples/15_polymorphic_procs.onyx +++ b/examples/15_polymorphic_procs.onyx @@ -2,5 +2,5 @@ use package core -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { } diff --git a/examples/16_pipe_operator.onyx b/examples/16_pipe_operator.onyx index db30ce5f..5662fda6 100644 --- a/examples/16_pipe_operator.onyx +++ b/examples/16_pipe_operator.onyx @@ -2,12 +2,12 @@ use package core { println } -main :: proc (args: [] cstr) { +main :: (args: [] cstr) { // These functions will be used to demo the pipe operator. Num :: #type i32; - double :: proc (v: Num) -> Num do return v * 2; - add :: proc (a: Num, b: Num) -> Num do return a + b; - square :: proc (v: Num) -> Num do return v * v; + double :: (v: Num) -> Num do return v * 2; + add :: (a: Num, b: Num) -> Num do return a + b; + square :: (v: Num) -> Num do return v * v; // Something you may find yourself doing often is changing function // calls together likes this: diff --git a/onyx.exe b/onyx.exe index e582c54b51105dd7ecbc84208b3519bb295a500a..66fd4cda6b8bc35bf80049295f155f8877ef6808 100644 GIT binary patch delta 67848 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

5d{0D(w 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 ZQWQR%I>z`h0Te_zsAAXJLupG!{U0kjF@FF6 -- 2.25.1