77 lines
1.6 KiB
Plaintext
77 lines
1.6 KiB
Plaintext
program main
|
|
fn empty_values() -> (vec i32)
|
|
call std.vec.i32.empty
|
|
fn pair(base: i32) -> (vec i32)
|
|
local let values: (vec i32)
|
|
call std.vec.i32.empty
|
|
local let first: (vec i32)
|
|
call std.vec.i32.append
|
|
var values
|
|
var base
|
|
call std.vec.i32.append
|
|
var first
|
|
binary +
|
|
var base
|
|
int 1
|
|
fn echo(values: (vec i32)) -> (vec i32)
|
|
var values
|
|
fn length(values: (vec i32)) -> i32
|
|
call std.vec.i32.len
|
|
var values
|
|
fn at(values: (vec i32), i: i32) -> i32
|
|
call std.vec.i32.index
|
|
var values
|
|
var i
|
|
fn call_return_len() -> i32
|
|
call std.vec.i32.len
|
|
call echo
|
|
call pair
|
|
int 20
|
|
fn original_len_after_append() -> i32
|
|
local let values: (vec i32)
|
|
call std.vec.i32.empty
|
|
local let appended: (vec i32)
|
|
call std.vec.i32.append
|
|
var values
|
|
int 1
|
|
call std.vec.i32.len
|
|
var values
|
|
fn main() -> i32
|
|
call std.io.print_i32
|
|
call call_return_len
|
|
call at
|
|
call pair
|
|
int 40
|
|
int 1
|
|
test "vec i32 empty length"
|
|
binary =
|
|
call std.vec.i32.len
|
|
call empty_values
|
|
int 0
|
|
test "vec i32 append length"
|
|
binary =
|
|
call length
|
|
call pair
|
|
int 40
|
|
int 2
|
|
test "vec i32 index"
|
|
binary =
|
|
call at
|
|
call pair
|
|
int 40
|
|
int 1
|
|
int 41
|
|
test "vec i32 append is immutable"
|
|
binary =
|
|
call original_len_after_append
|
|
int 0
|
|
test "vec i32 equality"
|
|
binary =
|
|
call pair
|
|
int 5
|
|
call std.vec.i32.append
|
|
call std.vec.i32.append
|
|
call std.vec.i32.empty
|
|
int 5
|
|
int 6
|