type Vec = ΛT ↦ Struct { len : ℤ_2^64 ~ machine.UInt64 ~ machine.Word ; capacity : ℤ_2^64 ~ machine.UInt64 ~ machine.Word ; data : ~ machine.Address ~ machine.UInt64 ~ machine.Word ; }; let yellow:Color~RGB~Vec3i = { 0; 220; 220; }; let fn = λx:ℤ ↦ ℤ:{ 3; }; let swap = λ{x;y;}:{T;T;} ↦ ℤ:{x;y;} let n : ℤ ~ℤ_2^64 ~machine.UInt64 ~machine.Word = ℤ ~ ~ ~ Char > : CF03; λ{} -> {x y} : ↦ { 10; 5; } let Vec.new = ΛT ↦ λ{} ↦ self:{ let sizeofT = 1; !self { }; !self.len 0; !self.capacity 10; !self.data malloc (i* self.capacity sizeofT); }; let Vec.drop = ΛT ↦ λself: ↦ { mfree self.data; }; let vec-get = Λ T ↦ λ vec: ↦ λ idx: ℤ_2^64 ~ machine.UInt64 ~ machine.Word ↦ T { if( int-lt idx vec.len ) { let j = 0; let sizeofT = 1; /* todo: */ while( int-lt j sizeofT ) { @ (i+ vec.data (i+ (i* idx sizeofT) j)); ! j (i+ j 1); }; } else { print-nullterm 'o''u''t'' ''o''f'' ''b''o''u''n''d''s''\n''\0' }; };