fmt
format-string argsNo 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))