fmt

format-string args


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 ($push/val :string))
(    2 ($get/val 'type-of))
(    4 ($get/val 'format-string))
(    6 ($apply 1))
(    8 ($=))
(    9 ($jf* 7))
(   12 ($push/nil))
(   13 ($jmp* 21))
(   16 ($get/val 'throw))
(   18 ($get/val 'list))
(   20 ($push/val :type-error))
(   22 ($push/val fmt needs a string literal as a first argument, since it is implemented as a macro))
(   24 ($get/val 'format-string))
(   26 ($get/val 'current-lambda))
(   28 ($apply 0))
(   30 ($apply 4))
(   32 ($apply 1))
(   34 ($drop))
(   35 ($push/nil))
(   36 ($det/val 'cuts))
(   38 ($drop))
(   39 ($let))
(   40 ($push/int/byte 0))
(   42 ($det/val 'i))
(   44 ($drop))
(   45 ($push/nil))
(   46 ($jmp* 137))
(   49 ($drop))
(   50 ($let))
(   51 ($get/val 'buffer/ref))
(   53 ($get/val 'format-string))
(   55 ($get/val 'i))
(   57 ($apply 2))
(   59 ($det/val 'ΓεnΣym-5))
(   61 ($drop))
(   62 ($get/val 'ΓεnΣym-5))
(   64 ($push/int/byte 123))
(   66 ($=))
(   67 ($jf* 49))
(   70 ($push/val :int))
(   72 ($get/val 'type-of))
(   74 ($get/val 'cuts))
(   76 ($car))
(   77 ($apply 1))
(   79 ($=))
(   80 ($jf* 24))
(   83 ($get/val 'throw))
(   85 ($get/val 'list))
(   87 ($push/val :format-error))
(   89 ($push/val fmt placeholders can't be nested))
(   91 ($get/val 'format-string))
(   93 ($get/val 'current-lambda))
(   95 ($apply 0))
(   97 ($apply 4))
(   99 ($apply 1))
(  101 ($jmp* 4))
(  104 ($push/nil))
(  105 ($drop))
(  106 ($get/val 'i))
(  108 ($get/val 'cuts))
(  110 ($cons))
(  111 ($set/val 'cuts))
(  113 ($jmp* 63))
(  116 ($get/val 'ΓεnΣym-5))
(  118 ($push/int/byte 125))
(  120 ($=))
(  121 ($jf* 54))
(  124 ($push/val :int))
(  126 ($get/val 'type-of))
(  128 ($get/val 'cuts))
(  130 ($car))
(  131 ($apply 1))
(  133 ($=))
(  134 ($jf* 7))
(  137 ($push/nil))
(  138 ($jmp* 21))
(  141 ($get/val 'throw))
(  143 ($get/val 'list))
(  145 ($push/val :format-error))
(  147 ($push/val fmt expects all brackets to be closed))
(  149 ($get/val 'format-string))
(  151 ($get/val 'current-lambda))
(  153 ($apply 0))
(  155 ($apply 4))
(  157 ($apply 1))
(  159 ($drop))
(  160 ($get/val 'cuts))
(  162 ($car))
(  163 ($get/val 'i))
(  165 ($cons))
(  166 ($get/val 'cuts))
(  168 ($cdr))
(  169 ($cons))
(  170 ($set/val 'cuts))
(  172 ($jmp* 4))
(  175 ($push/nil))
(  176 ($closure/pop))
(  177 ($drop))
(  178 ($get/val 'i))
(  180 ($inc/int))
(  181 ($set/val 'i))
(  183 ($get/val 'i))
(  185 ($get/val 'buffer/length))
(  187 ($get/val 'format-string))
(  189 ($apply 1))
(  191 ($<))
(  192 ($jt* -143))
(  195 ($drop))
(  196 ($push/nil))
(  197 ($closure/pop))
(  198 ($drop))
(  199 ($push/val :int))
(  201 ($get/val 'type-of))
(  203 ($get/val 'cuts))
(  205 ($car))
(  206 ($apply 1))
(  208 ($=))
(  209 ($jf* 24))
(  212 ($get/val 'throw))
(  214 ($get/val 'list))
(  216 ($push/val :format-error))
(  218 ($push/val fmt placeholders can't be nested))
(  220 ($get/val 'format-string))
(  222 ($get/val 'current-lambda))
(  224 ($apply 0))
(  226 ($apply 4))
(  228 ($apply 1))
(  230 ($jmp* 4))
(  233 ($push/nil))
(  234 ($drop))
(  235 ($push/nil))
(  236 ($det/val 'expr-list))
(  238 ($drop))
(  239 ($get/val 'buffer/length))
(  241 ($get/val 'format-string))
(  243 ($apply 1))
(  245 ($det/val 'last-pos))
(  247 ($drop))
(  248 ($get/val 'array/fill!))
(  250 ($get/val 'array/allocate))
(  252 ($get/val 'length))
(  254 ($get/val 'args))
(  256 ($apply 1))
(  258 ($apply 1))
(  260 ($push/false))
(  261 ($apply 2))
(  263 ($det/val 'arguments-used))
(  265 ($drop))
(  266 ($get/val 'tree/new))
(  268 ($push/val :expr-count))
(  270 ($get/val 'array/length))
(  272 ($get/val 'arguments-used))
(  274 ($apply 1))
(  276 ($apply 2))
(  278 ($det/val 'opts))
(  280 ($drop))
(  281 ($let))
(  282 ($get/val 'cuts))
(  284 ($det/val 'ΓεnΣym-6))
(  286 ($drop))
(  287 ($push/nil))
(  288 ($jmp* 162))
(  291 ($drop))
(  292 ($push/val :pair))
(  294 ($get/val 'type-of))
(  296 ($get/val 'ΓεnΣym-6))
(  298 ($apply 1))
(  300 ($=))
(  301 ($jf* 7))
(  304 ($push/nil))
(  305 ($jmp* 21))
(  308 ($get/val 'throw))
(  310 ($get/val 'list))
(  312 ($push/val :type-error))
(  314 ($push/val Improper list detected, please provide a proper list instead))
(  316 ($get/val 'cuts))
(  318 ($get/val 'current-lambda))
(  320 ($apply 0))
(  322 ($apply 4))
(  324 ($apply 1))
(  326 ($drop))
(  327 ($get/val 'type-of))
(  329 ($get/val 'ΓεnΣym-6))
(  331 ($apply 1))
(  333 ($push/val :pair))
(  335 ($=))
(  336 ($jf* 7))
(  339 ($push/nil))
(  340 ($jmp* 21))
(  343 ($get/val 'throw))
(  345 ($get/val 'list))
(  347 ($push/val :type-error))
(  349 ($push/val Expected a value of type :pair))
(  351 ($get/val 'ΓεnΣym-6))
(  353 ($get/val 'current-lambda))
(  355 ($apply 0))
(  357 ($apply 4))
(  359 ($apply 1))
(  361 ($drop))
(  362 ($get/val 'ΓεnΣym-6))
(  364 ($car))
(  365 ($det/val 'c))
(  367 ($drop))
(  368 ($get/val 'string/cut))
(  370 ($get/val 'format-string))
(  372 ($get/val 'c))
(  374 ($cdr))
(  375 ($push/int/byte 1))
(  377 ($add))
(  378 ($get/val 'last-pos))
(  380 ($apply 3))
(  382 ($det/val 'lit))
(  384 ($drop))
(  385 ($push/val ))
(  387 ($get/val 'lit))
(  389 ($=))
(  390 ($jf* 7))
(  393 ($push/nil))
(  394 ($jmp* 10))
(  397 ($get/val 'lit))
(  399 ($get/val 'expr-list))
(  401 ($cons))
(  402 ($set/val 'expr-list))
(  404 ($drop))
(  405 ($get/val 'fmt/expr))
(  407 ($get/val 'string/cut))
(  409 ($get/val 'format-string))
(  411 ($push/int/byte 1))
(  413 ($get/val 'c))
(  415 ($car))
(  416 ($add))
(  417 ($get/val 'c))
(  419 ($cdr))
(  420 ($apply 3))
(  422 ($get/val 'arguments-used))
(  424 ($get/val 'opts))
(  426 ($apply 3))
(  428 ($det/val 'expr))
(  430 ($drop))
(  431 ($get/val 'expr))
(  433 ($get/val 'expr-list))
(  435 ($cons))
(  436 ($set/val 'expr-list))
(  438 ($drop))
(  439 ($get/val 'c))
(  441 ($car))
(  442 ($set/val 'last-pos))
(  444 ($drop))
(  445 ($get/val 'ΓεnΣym-6))
(  447 ($cdr))
(  448 ($set/val 'ΓεnΣym-6))
(  450 ($get/val 'ΓεnΣym-6))
(  452 ($jt* -161))
(  455 ($drop))
(  456 ($push/nil))
(  457 ($closure/pop))
(  458 ($drop))
(  459 ($get/val 'last-pos))
(  461 ($push/int/byte 0))
(  463 ($>))
(  464 ($jf* 26))
(  467 ($get/val 'string/cut))
(  469 ($get/val 'format-string))
(  471 ($push/int/byte 0))
(  473 ($get/val 'last-pos))
(  475 ($apply 3))
(  477 ($det/val 'lit))
(  479 ($drop))
(  480 ($get/val 'lit))
(  482 ($get/val 'expr-list))
(  484 ($cons))
(  485 ($set/val 'expr-list))
(  487 ($jmp* 4))
(  490 ($push/nil))
(  491 ($drop))
(  492 ($let))
(  493 ($push/int/byte 0))
(  495 ($det/val 'i))
(  497 ($drop))
(  498 ($push/nil))
(  499 ($jmp* 55))
(  502 ($drop))
(  503 ($get/val 'array/ref))
(  505 ($get/val 'arguments-used))
(  507 ($get/val 'i))
(  509 ($apply 2))
(  511 ($jf* 7))
(  514 ($push/nil))
(  515 ($jmp* 33))
(  518 ($get/val 'throw))
(  520 ($get/val 'list))
(  522 ($push/val :format-error))
(  524 ($push/val fmt expects all arguments to be used))
(  526 ($get/val 'list))
(  528 ($get/val 'format-string))
(  530 ($get/val 'list/ref))
(  532 ($get/val 'args))
(  534 ($get/val 'i))
(  536 ($apply 2))
(  538 ($apply 2))
(  540 ($get/val 'current-lambda))
(  542 ($apply 0))
(  544 ($apply 4))
(  546 ($apply 1))
(  548 ($drop))
(  549 ($get/val 'i))
(  551 ($inc/int))
(  552 ($set/val 'i))
(  554 ($get/val 'i))
(  556 ($get/val 'array/length))
(  558 ($get/val 'arguments-used))
(  560 ($apply 1))
(  562 ($<))
(  563 ($jt* -61))
(  566 ($drop))
(  567 ($push/nil))
(  568 ($closure/pop))
(  569 ($drop))
(  570 ($get/val 'expr-list))
(  572 ($cdr))
(  573 ($jf* 11))
(  576 ($push/val 'cat))
(  578 ($get/val 'expr-list))
(  580 ($cons))
(  581 ($jmp* 27))
(  584 ($push/val :string))
(  586 ($get/val 'type-of))
(  588 ($get/val 'expr-list))
(  590 ($car))
(  591 ($apply 1))
(  593 ($=))
(  594 ($jf* 9))
(  597 ($get/val 'expr-list))
(  599 ($car))
(  600 ($jmp* 8))
(  603 ($push/val 'string))
(  605 ($get/val 'expr-list))
(  607 ($cons))
(  608 ($det/val 'expr))
(  610 ($drop))
(  611 ($push/int/byte 0))
(  613 ($det/val 'fmt/args/map-fun/count))
(  615 ($drop))
(  616 ($push/val 'fmt/args/map-fun))
(  618 ($push/val (arg)))
(  620 ($push/val #@()))
(  622 ($push/val #{##(string->symbol cat "fmt-arg-" string fmt/args/map-fun/count s list def arg)
0E000E011A020E030E0404010402040107050D0E0402012505040D0E061A070E
050E08040301
}))
(  624 ($fn/dynamic))
(  625 ($det/val 'fmt/args/map-fun))
(  627 ($drop))
(  628 ($get/val 'args))
(  630 ($jf* 25))
(  633 ($push/val 'let*))
(  635 ($get/val 'append))
(  637 ($get/val 'map))
(  639 ($get/val 'args))
(  641 ($get/val 'fmt/args/map-fun))
(  643 ($apply 2))
(  645 ($get/val 'expr))
(  647 ($push/nil))
(  648 ($cons))
(  649 ($apply 2))
(  651 ($cons))
(  652 ($jmp* 5))
(  655 ($get/val 'expr))
(  657 ($ret))