tree/zip

keys values


Summary

Return a tree where KEYS point to VALUES

Bytecode

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

(    0 ($get/val 'tree/new))
(    2 ($push/nil))
(    3 ($apply 1))
(    5 ($det/val 'ret))
(    7 ($drop))
(    8 ($let))
(    9 ($get/val 'keys))
(   11 ($det/val 'ΓεnΣym-1))
(   13 ($drop))
(   14 ($push/nil))
(   15 ($jmp* 103))
(   18 ($drop))
(   19 ($push/val :pair))
(   21 ($get/val 'type-of))
(   23 ($get/val 'ΓεnΣym-1))
(   25 ($apply 1))
(   27 ($=))
(   28 ($jf* 7))
(   31 ($push/nil))
(   32 ($jmp* 21))
(   35 ($get/val 'throw))
(   37 ($get/val 'list))
(   39 ($push/val :type-error))
(   41 ($push/val Improper list detected, please provide a proper list instead))
(   43 ($get/val 'keys))
(   45 ($get/val 'current-lambda))
(   47 ($apply 0))
(   49 ($apply 4))
(   51 ($apply 1))
(   53 ($drop))
(   54 ($get/val 'type-of))
(   56 ($get/val 'ΓεnΣym-1))
(   58 ($apply 1))
(   60 ($push/val :pair))
(   62 ($=))
(   63 ($jf* 7))
(   66 ($push/nil))
(   67 ($jmp* 21))
(   70 ($get/val 'throw))
(   72 ($get/val 'list))
(   74 ($push/val :type-error))
(   76 ($push/val Expected a value of type :pair))
(   78 ($get/val 'ΓεnΣym-1))
(   80 ($get/val 'current-lambda))
(   82 ($apply 0))
(   84 ($apply 4))
(   86 ($apply 1))
(   88 ($drop))
(   89 ($get/val 'ΓεnΣym-1))
(   91 ($car))
(   92 ($det/val 'key))
(   94 ($drop))
(   95 ($get/val 'tree/set!))
(   97 ($get/val 'ret))
(   99 ($get/val 'key))
(  101 ($get/val 'values))
(  103 ($car))
(  104 ($apply 3))
(  106 ($drop))
(  107 ($get/val 'values))
(  109 ($cdr))
(  110 ($set/val 'values))
(  112 ($drop))
(  113 ($get/val 'ΓεnΣym-1))
(  115 ($cdr))
(  116 ($set/val 'ΓεnΣym-1))
(  118 ($get/val 'ΓεnΣym-1))
(  120 ($jt* -102))
(  123 ($drop))
(  124 ($get/val 'ret))
(  126 ($closure/pop))
(  127 ($ret))