array/append
a bSummary
Append array A to array B
Bytecode
Probably only interesting to you if you want to understand more about the Nujel VM or care very much about performance.
( 0 ($push/val :array)) ( 2 ($get/val 'type-of)) ( 4 ($get/val 'a)) ( 6 ($apply 1)) ( 8 ($=)) ( 9 ($dup)) ( 10 ($jf* 13)) ( 13 ($drop)) ( 14 ($push/val :array)) ( 16 ($get/val 'type-of)) ( 18 ($get/val 'b)) ( 20 ($apply 1)) ( 22 ($=)) ( 23 ($jf* 7)) ( 26 ($push/nil)) ( 27 ($jmp* 20)) ( 30 ($get/val 'throw)) ( 32 ($get/val 'list)) ( 34 ($push/val :type-error)) ( 36 ($push/val array/append expects two arrays as its arguments)) ( 38 ($push/nil)) ( 39 ($get/val 'current-lambda)) ( 41 ($apply 0)) ( 43 ($apply 4)) ( 45 ($apply 1)) ( 47 ($drop)) ( 48 ($get/val 'array/allocate)) ( 50 ($get/val 'array/length)) ( 52 ($get/val 'a)) ( 54 ($apply 1)) ( 56 ($get/val 'array/length)) ( 58 ($get/val 'b)) ( 60 ($apply 1)) ( 62 ($add)) ( 63 ($apply 1)) ( 65 ($det/val 'ret)) ( 67 ($drop)) ( 68 ($let)) ( 69 ($push/int/byte 0)) ( 71 ($det/val 'i)) ( 73 ($drop)) ( 74 ($push/nil)) ( 75 ($jmp* 26)) ( 78 ($drop)) ( 79 ($get/val 'array/set!)) ( 81 ($get/val 'ret)) ( 83 ($get/val 'i)) ( 85 ($get/val 'array/ref)) ( 87 ($get/val 'a)) ( 89 ($get/val 'i)) ( 91 ($apply 2)) ( 93 ($apply 3)) ( 95 ($drop)) ( 96 ($get/val 'i)) ( 98 ($inc/int)) ( 99 ($set/val 'i)) ( 101 ($get/val 'i)) ( 103 ($get/val 'array/length)) ( 105 ($get/val 'a)) ( 107 ($apply 1)) ( 109 ($<)) ( 110 ($jt* -32)) ( 113 ($drop)) ( 114 ($push/nil)) ( 115 ($closure/pop)) ( 116 ($drop)) ( 117 ($let)) ( 118 ($get/val 'array/length)) ( 120 ($get/val 'a)) ( 122 ($apply 1)) ( 124 ($det/val 'i)) ( 126 ($drop)) ( 127 ($get/val 'array/length)) ( 129 ($get/val 'ret)) ( 131 ($apply 1)) ( 133 ($det/val 'rl)) ( 135 ($drop)) ( 136 ($push/nil)) ( 137 ($jmp* 35)) ( 140 ($drop)) ( 141 ($get/val 'array/set!)) ( 143 ($get/val 'ret)) ( 145 ($get/val 'i)) ( 147 ($get/val 'array/ref)) ( 149 ($get/val 'b)) ( 151 ($get/val 'i)) ( 153 ($get/val 'array/length)) ( 155 ($get/val 'a)) ( 157 ($apply 1)) ( 159 ($sub)) ( 160 ($apply 2)) ( 162 ($apply 3)) ( 164 ($drop)) ( 165 ($get/val 'i)) ( 167 ($push/int/byte 1)) ( 169 ($add/int)) ( 170 ($set/val 'i)) ( 172 ($get/val 'i)) ( 174 ($get/val 'rl)) ( 176 ($<)) ( 177 ($jt* -37)) ( 180 ($closure/pop)) ( 181 ($drop)) ( 182 ($get/val 'ret)) ( 184 ($ret)) ( 185 ($ret))