struct Function { ~uint8 name, utils.Vector inputs, outputs, ~parse.Node body } /; method Function /; init (~uint8 name) self.name = name Var v self.inputs.init(len v) self.outputs.init(len v) ;/ /; end _delete(self.name) self.body`.end() ~Var v /; loop (int i = 0; i < self.inputs.count) [i++] v = self.inputs.get(i) v`.end() ;/ self.inputs.end() /; loop (int i = 0; i < self.outputs.count) [i++] v = self.outputs.get(i) v`.end() ;/ self.outputs.end() ;/ ;/