@import("basic.felan"); @import("lib/memory.felan"); print :: (value:**anytype)->void{ if comptime @type_of(value.*) == u8 { @putc(value.*); }else{ @putc('h'); } }; __sum__ :: (left:*anytype,right:i64) -> (@type_of(left)) { return @add(left,right); }; __sub__ :: (left:*anytype,right:i64) -> (@type_of(left)) { return @sub(left,right); }; __get_item__ :: (left:*anytype,index:i64) -> (@type_of(left.*)) { return (left + index).*; }; __set_item__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left.*)) { return (left + index).* = item; }; __get_item_address__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left)) { return (left + index); }; main :: ()->void{ p := malloc(10,u64); i := 0; while i < 10 { __set_item__(p,i,0); i += 1; } print(__get_item__(p,1)); free(@cast(p,*void)); };