array/filter

arr pred


Summary

Filter an array, (filter) should be preferred

Bytecode

Probably only interesting to you if you want to understand more about the Nujel VM or care very much about performance.

(    0 ($push/int/byte 0))
(    2 ($det/val 'ri))
(    4 ($drop))
(    5 ($get/val 'array/length))
(    7 ($get/val 'arr))
(    9 ($apply 1))
(   11 ($det/val 'len))
(   13 ($drop))
(   14 ($get/val 'array/allocate))
(   16 ($get/val 'len))
(   18 ($apply 1))
(   20 ($det/val 'ret))
(   22 ($drop))
(   23 ($let))
(   24 ($push/int/byte 0))
(   26 ($det/val 'ai))
(   28 ($drop))
(   29 ($push/nil))
(   30 ($jmp* 53))
(   33 ($drop))
(   34 ($get/val 'pred))
(   36 ($get/val 'array/ref))
(   38 ($get/val 'arr))
(   40 ($get/val 'ai))
(   42 ($apply 2))
(   44 ($apply 1))
(   46 ($jf* 30))
(   49 ($get/val 'array/set!))
(   51 ($get/val 'ret))
(   53 ($get/val 'ri))
(   55 ($get/val 'array/ref))
(   57 ($get/val 'arr))
(   59 ($get/val 'ai))
(   61 ($apply 2))
(   63 ($apply 3))
(   65 ($drop))
(   66 ($get/val 'ri))
(   68 ($push/int/byte 1))
(   70 ($add))
(   71 ($set/val 'ri))
(   73 ($jmp* 4))
(   76 ($push/nil))
(   77 ($drop))
(   78 ($get/val 'ai))
(   80 ($inc/int))
(   81 ($set/val 'ai))
(   83 ($get/val 'ai))
(   85 ($get/val 'len))
(   87 ($<))
(   88 ($jt* -55))
(   91 ($drop))
(   92 ($get/val 'array/length!))
(   94 ($get/val 'ret))
(   96 ($get/val 'ri))
(   98 ($apply 2))
(  100 ($closure/pop))
(  101 ($ret))