file/eval-module
path argsSummary
Evaluate a Nujel source file in the current context
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 'module/resolve-string)) ( 2 ($get/val 'cat)) ( 4 ($get/val 'path/without-extension)) ( 6 ($get/val 'path)) ( 8 ($apply 1)) ( 10 ($apply 1)) ( 12 ($get/val 'path/working-directory)) ( 14 ($apply 0)) ( 16 ($apply 2)) ( 18 ($det/val 'mod-name)) ( 20 ($drop)) ( 21 ($get/val 'module/load)) ( 23 ($get/val 'mod-name)) ( 25 ($apply 1)) ( 27 ($det/val 'mod)) ( 29 ($drop)) ( 30 ($push/val :environment)) ( 32 ($get/val 'type-of)) ( 34 ($get/val 'mod)) ( 36 ($apply 1)) ( 38 ($=)) ( 39 ($jf* 7)) ( 42 ($push/nil)) ( 43 ($jmp* 6)) ( 46 ($get/val 'mod)) ( 48 ($ret)) ( 49 ($drop)) ( 50 ($get/val 'resolve)) ( 52 ($push/val 'exports)) ( 54 ($get/val 'mod)) ( 56 ($apply 2)) ( 58 ($det/val 'exports)) ( 60 ($drop)) ( 61 ($get/val 'exports)) ( 63 ($jf* 7)) ( 66 ($push/nil)) ( 67 ($jmp* 27)) ( 70 ($get/val 'throw)) ( 72 ($get/val 'list)) ( 74 ($get/val 'cat)) ( 76 ($push/val Couldn't load )) ( 78 ($get/val 'path)) ( 80 ($push/val as a module since it has no exports)) ( 82 ($apply 3)) ( 84 ($push/nil)) ( 85 ($push/nil)) ( 86 ($get/val 'current-lambda)) ( 88 ($apply 0)) ( 90 ($apply 4)) ( 92 ($apply 1)) ( 94 ($drop)) ( 95 ($get/val 'tree/has?)) ( 97 ($get/val 'exports)) ( 99 ($push/val :main)) ( 101 ($apply 2)) ( 103 ($jf* 18)) ( 106 ($get/val 'tree/ref)) ( 108 ($get/val 'exports)) ( 110 ($push/val :main)) ( 112 ($apply 2)) ( 114 ($get/val 'args)) ( 116 ($apply 1)) ( 118 ($jmp* 4)) ( 121 ($push/nil)) ( 122 ($ret))