defn

name args body


No documentation available

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 'fn/check))
(    2 ($get/val 'args))
(    4 ($get/val 'body))
(    6 ($apply 2))
(    8 ($drop))
(    9 ($get/val 'meta/parse/body))
(   11 ($push/val :lambda))
(   13 ($get/val 'args))
(   15 ($get/val 'body))
(   17 ($apply 3))
(   19 ($det/val 'fn-meta))
(   21 ($drop))
(   22 ($push/val 'def))
(   24 ($get/val 'name))
(   26 ($push/val 'fn*))
(   28 ($push/val 'quote))
(   30 ($get/val 'name))
(   32 ($push/nil))
(   33 ($cons))
(   34 ($cons))
(   35 ($push/val 'quote))
(   37 ($get/val 'args))
(   39 ($push/nil))
(   40 ($cons))
(   41 ($cons))
(   42 ($get/val 'fn-meta))
(   44 ($push/val 'quote))
(   46 ($get/val 'compile/do*))
(   48 ($get/val 'body))
(   50 ($get/val 'current-closure))
(   52 ($apply 0))
(   54 ($apply 2))
(   56 ($push/nil))
(   57 ($cons))
(   58 ($cons))
(   59 ($push/nil))
(   60 ($cons))
(   61 ($cons))
(   62 ($cons))
(   63 ($cons))
(   64 ($cons))
(   65 ($push/nil))
(   66 ($cons))
(   67 ($cons))
(   68 ($cons))
(   69 ($det/val 'def-form))
(   71 ($drop))
(   72 ($get/val 'tree/ref))
(   74 ($get/val 'fn-meta))
(   76 ($push/val :export))
(   78 ($apply 2))
(   80 ($jf* 45))
(   83 ($get/val 'list))
(   85 ($push/val 'export))
(   87 ($push/val :symbol))
(   89 ($get/val 'type-of))
(   91 ($get/val 'tree/ref))
(   93 ($get/val 'fn-meta))
(   95 ($push/val :export))
(   97 ($apply 2))
(   99 ($apply 1))
(  101 ($=))
(  102 ($jf* 14))
(  105 ($get/val 'tree/ref))
(  107 ($get/val 'fn-meta))
(  109 ($push/val :export))
(  111 ($apply 2))
(  113 ($jmp* 5))
(  116 ($get/val 'name))
(  118 ($get/val 'def-form))
(  120 ($apply 3))
(  122 ($jmp* 5))
(  125 ($get/val 'def-form))
(  127 ($ret))