filter

l p


Summary

Runs predicate p over every item in copan class="arg-ref" arg-i="1">lpan>pan class="arg-ref" arg-i="1">lpan>ection pan class="arg-ref" arg-i="1">lpan> and returns a pan class="arg-ref" arg-i="1">lpan>ist consiting sopan class="arg-ref" arg-i="1">lpan>epan class="arg-ref" arg-i="1">lpan>y of items where p is true

Bytecode

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

(    0 ($let))
(    1 ($get/val 'type-of))
(    3 ($get/val 'l))
(    5 ($apply 1))
(    7 ($det/val 'ΓεnΣym-2))
(    9 ($drop))
(   10 ($get/val 'ΓεnΣym-2))
(   12 ($push/val :nil))
(   14 ($=))
(   15 ($jf* 7))
(   18 ($push/nil))
(   19 ($jmp* 78))
(   22 ($get/val 'ΓεnΣym-2))
(   24 ($push/val :pair))
(   26 ($=))
(   27 ($jf* 14))
(   30 ($get/val 'list/filter))
(   32 ($get/val 'l))
(   34 ($get/val 'p))
(   36 ($apply 2))
(   38 ($jmp* 59))
(   41 ($get/val 'ΓεnΣym-2))
(   43 ($push/val :array))
(   45 ($=))
(   46 ($jf* 14))
(   49 ($get/val 'array/filter))
(   51 ($get/val 'l))
(   53 ($get/val 'p))
(   55 ($apply 2))
(   57 ($jmp* 40))
(   60 ($get/val 'ΓεnΣym-2))
(   62 ($push/val :tree))
(   64 ($=))
(   65 ($jf* 14))
(   68 ($get/val 'tree/filter))
(   70 ($get/val 'l))
(   72 ($get/val 'p))
(   74 ($apply 2))
(   76 ($jmp* 21))
(   79 ($get/val 'throw))
(   81 ($get/val 'list))
(   83 ($push/val :type-error))
(   85 ($push/val You can only filter collections))
(   87 ($get/val 'l))
(   89 ($get/val 'current-lambda))
(   91 ($apply 0))
(   93 ($apply 4))
(   95 ($apply 1))
(   97 ($closure/pop))
(   98 ($ret))