Login
7 branches 0 tags
Ben (Win10) Optimized funcalls baf03d1 3 years ago 758 Commits
nujel / bootstrap / binlib.no
#{##["Nujel Standalone" test-context file/eval [path environment] #@[documentation: "Evaluate a Nujel source file in the current context" source: ["Evaluate a Nujel source file in the current context" [when-not environment [set! environment root-closure]] [eval-in environment [cons 'do [read [file/read path]]]]]] #{##[environment root-closure eval-in do read file/read path]
1Ai 0
05
0Bo 7
24
09o 9
1Ai 1
05
1Ai 0
08
0D
1Ai 2
05
1Ai 0
05
1Ai 3
1Ai 4
05
1Ai 5
05
1Ai 6
05
04i 1
04i 1
14
04i 2
01
} file/compile [path environment] #@[documentation: "Compile a Nujel source file into optimized object code" source: ["Compile a Nujel source file into optimized object code" [def source [cons 'do [read [file/read path]]]] [def object-code [compile* source [or environment [environment*]]]] [file/write [if object-code [string/write object-code] ""] [cat [path/without-extension path] ".no"]] [return object-code]]] #{##[do read file/read path source compile* environment #f object-code file/write string/write "" cat path/without-extension ".no"]
1Ai 0
1Ai 1
05
1Ai 2
05
1Ai 3
05
04i 1
04i 1
14
1Ai 4
07
0D
1Ai 5
05
1Ai 4
05
1Ai 6
05
0C
0Ao 16
0D
15
24
0D
13
16
0C
0Ao 6
0D
1Ai 7
04i 2
1Ai 8
07
0D
1Ai 9
05
1Ai 8
05
0Bo 14
1Ai 10
05
1Ai 8
05
04i 1
09o 5
1Ai 11
1Ai 12
05
1Ai 13
05
1Ai 3
05
04i 1
1Ai 14
04i 2
04i 2
0D
1Ai 8
05
01
01
} file/compile/module [path environment base-dir] #@[documentation: "Compile a Nujel source file into optimized object code" source: ["Compile a Nujel source file into optimized object code" [def module-name [string->keyword [path/without-extension [string/cut path [length base-dir]]]]] [def source [quasiquote [defmodule [unquote module-name] [def *module* [unquote module-name]] [unquote-splicing [read [file/read path]]]]]] [def object-code [compile* source [or environment [environment*]]]] [file/write [if object-code [string/write object-code] ""] [cat [path/without-extension path] ".no"]] [return object-code]]] #{##[symbol->keyword string->symbol path/without-extension string/cut path length base-dir module-name defmodule def *module* append read file/read source compile* environment #f object-code file/write string/write "" cat ".no"]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
1Ai 6
05
04i 1
04i 2
04i 1
04i 1
04i 1
1Ai 7
07
0D
1Ai 8
1Ai 7
05
1Ai 9
1Ai 10
1Ai 7
05
24
14
14
14
1Ai 11
05
1Ai 12
05
1Ai 13
05
1Ai 4
05
04i 1
04i 1
24
04i 2
14
14
14
1Ai 14
07
0D
1Ai 15
05
1Ai 14
05
1Ai 16
05
0C
0Ao 16
0D
15
24
0D
13
16
0C
0Ao 6
0D
1Ai 17
04i 2
1Ai 18
07
0D
1Ai 19
05
1Ai 18
05
0Bo 14
1Ai 20
05
1Ai 18
05
04i 1
09o 5
1Ai 21
1Ai 22
05
1Ai 2
05
1Ai 4
05
04i 1
1Ai 23
04i 2
04i 2
0D
1Ai 18
05
01
01
} file/compile/argv [] #@[source: [[def path [car [last-pair repl/args]]] [def module [index-of path "_modules/"]] [if [>= module 0] [file/compile/module path #nil [string/cut path 0 [+ module 9]]] [file/compile path]]]] #{##[last-pair repl/args path index-of "_modules/" module file/compile/module string/cut file/compile]
1Ai 0
05
1Ai 1
05
04i 1
11
1Ai 2
07
0D
1Ai 3
05
1Ai 2
05
1Ai 4
04i 2
1Ai 5
07
0D
1Ai 5
05
02i 0
21
0Bo 31
1Ai 6
05
1Ai 2
05
24
1Ai 7
05
1Ai 2
05
02i 0
1Ai 5
05
02i 9
25
04i 3
04i 3
09o 11
1Ai 8
05
1Ai 2
05
04i 1
01
} file/test/module/run [tests module-name] #@[source: [[require :test] [doseq [expr tests] [test/run-test! [eval [cadr expr]] [quasiquote [do [require [unquote module-name]] [unquote-splicing [cddr expr]]]]]]]] #{##[require* :test current-closure #t tests ΓεnΣym-1 expr test/run-test! eval-in do require module-name append]
1Ai 0
05
1Ai 1
1Ai 2
05
04i 0
1Ai 3
04i 3
0D
15
1Ai 4
05
1Ai 5
07
0D
1Ai 5
05
0Bo 78
24
1B
09o 64
0D
1C
1Ai 5
05
11
1Ai 6
07
0D
1Ai 7
05
1Ai 8
05
1Ai 2
05
04i 0
1Ai 6
05
12
11
04i 2
1Ai 9
1Ai 10
1Ai 11
05
24
14
14
1Ai 12
05
1Ai 6
05
12
12
24
04i 2
14
14
04i 2
0D
1Ai 5
05
12
1Ai 5
08
1Ai 5
05
0Ao -64
09o 4
24
16
01
} valid-test-form? [form] #@[source: [[== [car form] 'deftest]]] #{##[form deftest]
1Ai 0
05
11
1Ai 1
20
01
} file/test/module [path base-dir] #@[documentation: "Test a module by running all contained tests" source: ["Test a module by running all contained tests" [def rel-path [string/cut path [length base-dir]]] [when [== [char-at rel-path 0] 47] [set! rel-path [string/cut rel-path 1]]] [def module-name [string->keyword [path/without-extension rel-path]]] [require :test] [test/init!] [-> [read [file/read path]] [filter valid-test-form?] [file/test/module/run module-name]] [test/finish! [ansi-blue module-name]]]] #{##[string/cut path length base-dir rel-path char-at symbol->keyword string->symbol path/without-extension module-name require* :test current-closure #t test/init! file/test/module/run filter read file/read valid-test-form? test/finish! ansi-blue]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
05
04i 1
04i 2
1Ai 4
07
0D
1Ai 5
05
1Ai 4
05
02i 0
04i 2
02i 47
20
0Bo 19
1Ai 0
05
1Ai 4
05
02i 1
04i 2
1Ai 4
08
09o 4
24
0D
1Ai 6
05
1Ai 7
05
1Ai 8
05
1Ai 4
05
04i 1
04i 1
04i 1
1Ai 9
07
0D
1Ai 10
05
1Ai 11
1Ai 12
05
04i 0
1Ai 13
04i 3
0D
1Ai 14
05
04i 0
0D
1Ai 15
05
1Ai 16
05
1Ai 17
05
1Ai 18
05
1Ai 1
05
04i 1
04i 1
1Ai 19
05
04i 2
1Ai 9
05
04i 2
0D
1Ai 20
05
1Ai 21
05
1Ai 9
05
04i 1
04i 1
01
} file/test/directory [base-dir] #@[documentation: "Compile a Nujel source file into optimized object code" source: ["Compile a Nujel source file into optimized object code" [-> [directory/read-recursive base-dir] [flatten] [sort] [filter [path/ext?! "nuj"]] [map [fn [path] [file/test/module path base-dir]]] [sum]]]] #{##[sum map filter sort flatten directory/read-recursive base-dir path/ext?! "nuj" anonymous [path] #@[source: [[file/test/module path base-dir]]] #{##[file/test/module path base-dir]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 2
01
}]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
1Ai 6
05
04i 1
04i 1
04i 1
1Ai 7
05
1Ai 8
04i 1
04i 2
1Ai 9
1Ai 10
1Ai 11
1Ai 12
17
04i 2
04i 1
01
} load [filename] #@[source: [[try [fn [err] [display/error err] #f] [file/eval filename] [pfmtln "Loaded {filename}"] #t]]] #{##[anonymous [err] #@[source: [[display/error err] #f]] #{##[display/error err #f]
1Ai 0
05
1Ai 1
05
04i 1
0D
1Ai 2
01
} file/eval filename println cat "Loaded " #t]
1Ai 0
1Ai 1
1Ai 2
1Ai 3
17
19o 31
1Ai 4
05
1Ai 5
05
04i 1
0D
1Ai 6
05
1Ai 7
05
1Ai 8
1Ai 5
05
04i 2
04i 1
0D
1Ai 9
16
01
} file/file? [filename] #@[source: [[ref [file/stat filename] :regular-file?]]] #{##[ref file/stat filename :regular-file?]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 1
1Ai 3
04i 2
01
} file/dir? [filename] #@[source: [[ref [file/stat filename] :directory?]]] #{##[ref file/stat filename :directory?]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 1
1Ai 3
04i 2
01
} directory/read-relative [path] #@[source: [[map [directory/read path] [fn [a] [cat path "/" a]]]]] #{##[map directory/read path anonymous [a] #@[source: [[cat path "/" a]]] #{##[cat path "/" a]
1Ai 0
05
1Ai 1
05
1Ai 2
1Ai 3
05
04i 3
01
}]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 1
1Ai 3
1Ai 4
1Ai 5
1Ai 6
17
04i 2
01
} directory/read-recursive [path] #@[source: [[flatten [map [directory/read-relative path] [fn [A] [if [file/dir? A] [directory/read-recursive A] A]]]]]] #{##[flatten map directory/read-relative path anonymous [A] #@[source: [[if [file/dir? A] [directory/read-recursive A] A]]] #{##[file/dir? A directory/read-recursive]
1Ai 0
05
1Ai 1
05
04i 1
0Bo 14
1Ai 2
05
1Ai 1
05
04i 1
09o 6
1Ai 1
05
01
}]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
05
04i 1
1Ai 4
1Ai 5
1Ai 6
1Ai 7
17
04i 2
04i 1
01
} popen/trim [cmd] #@[documentation: "Run CMD using popen and return the trimmed stdout" source: ["Run CMD using popen and return the trimmed stdout" [trim [cdr [popen cmd]]]]] #{##[trim popen cmd]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 1
12
04i 1
01
} path/working-directory +root-working-dir+ file/module-loader [name] #@[source: [[def module-path [fmt "{+root-working-dir+}/modules/{}.nuj" [keyword->string name]]] [def source [file/read module-path]] [when-not source [return #nil]] [def expr [list 'module [cons do [read source]]]] [def mod [eval expr]] [return mod]]] #{##[keyword->string name fmt-arg-0 cat +root-working-dir+ "/modules/" ".nuj" module-path file/read source list module do read expr eval-in current-closure mod]
15
1Ai 0
05
1Ai 1
05
04i 1
1Ai 2
07
0D
1Ai 3
05
1Ai 4
05
1Ai 5
1Ai 2
05
1Ai 6
04i 4
16
1Ai 7
07
0D
1Ai 8
05
1Ai 7
05
04i 1
1Ai 9
07
0D
1Ai 9
05
0Bo 7
24
09o 5
24
01
0D
1Ai 10
05
1Ai 11
1Ai 12
05
1Ai 13
05
1Ai 9
05
04i 1
14
04i 2
1Ai 14
07
0D
1Ai 15
05
1Ai 16
05
04i 0
1Ai 14
05
04i 2
1Ai 17
07
0D
1Ai 17
05
01
01
} module/add-loader]
1Ai 0
1Ai 1
07
0D
1Ai 2
1Ai 3
1Ai 4
1Ai 5
17
1Ai 2
07
0D
1Ai 6
1Ai 7
1Ai 8
1Ai 9
17
1Ai 6
07
0D
1Ai 10
1Ai 11
1Ai 12
1Ai 13
17
1Ai 10
07
0D
1Ai 14
1Ai 15
1Ai 16
1Ai 17
17
1Ai 14
07
0D
1Ai 18
1Ai 19
1Ai 20
1Ai 21
17
1Ai 18
07
0D
1Ai 22
1Ai 23
1Ai 24
1Ai 25
17
1Ai 22
07
0D
1Ai 26
1Ai 27
1Ai 28
1Ai 29
17
1Ai 26
07
0D
1Ai 30
1Ai 31
1Ai 32
1Ai 33
17
1Ai 30
07
0D
1Ai 34
1Ai 35
1Ai 36
1Ai 37
17
1Ai 34
07
0D
1Ai 38
1Ai 39
1Ai 40
1Ai 41
17
1Ai 38
07
0D
1Ai 42
1Ai 43
1Ai 44
1Ai 45
17
1Ai 42
07
0D
1Ai 46
1Ai 47
1Ai 48
1Ai 49
17
1Ai 46
07
0D
1Ai 50
1Ai 51
1Ai 52
1Ai 53
17
1Ai 50
07
0D
1Ai 54
1Ai 55
1Ai 56
1Ai 57
17
1Ai 54
07
0D
1Ai 58
05
04i 0
1Ai 59
07
0D
1Ai 60
1Ai 61
1Ai 62
1Ai 63
17
1Ai 60
07
0D
1Ai 64
05
1Ai 60
05
04i 1
01
}#{##[*1 *2 *3 "nujel" repl/executable-name repl/args #f repl/parse-args/eval-next #t repl/parse-args/run-repl tree/new repl/options repl/option-map repl/exception-handler [error] #@[source: [[display/error error]]] #{##[display/error error]
1Ai 0
05
1Ai 1
05
04i 1
01
} repl/welcome [] #@[source: [[println [cat [ansi-rainbow "Nujel"] " is ready for business!"]]]] #{##[println cat ansi-rainbow "Nujel" " is ready for business!"]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
04i 1
1Ai 4
04i 2
04i 1
01
} repl/prompt [] #@[documentation: ">" source: ["> "]] #{##["> "]
1Ai 0
01
} repl/wasm [line] #@[documentation: "Evaluate LINE in the wasm context" source: ["Evaluate LINE in the wasm context" [try repl/exception-handler [eval-in root-closure [cons do [read line]]]]]] #{##[repl/exception-handler eval-in root-closure do read line]
1Ai 0
05
19o 24
1Ai 1
05
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
04i 1
14
04i 2
16
01
} repl/cmd/raw [ctx line] #@[source: [[try [fn [err] [if [= [car err] :unmatched-opening-bracket] [repl/cmd/raw ctx [cat line [readline "... "]]] [throw err]]] [def expr [read line]] [when [equal? '[] expr] [print "\r"] [return]] [def result [eval-in ctx [cons do expr]]] [repl/push-result result] [println [if [nil? result] "" [string result]]]]]] #{##[anonymous [err] #@[source: [[if [= [car err] :unmatched-opening-bracket] [repl/cmd/raw ctx [cat line [readline "... "]]] [throw err]]]] #{##[err :unmatched-opening-bracket repl/cmd/raw ctx cat line readline "... " throw]
1Ai 0
05
11
1Ai 1
20
0Bo 29
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
1Ai 6
05
1Ai 7
04i 1
04i 2
04i 2
09o 11
1Ai 8
05
1Ai 0
05
04i 1
01
} read line expr equal? [] print "\r" eval-in ctx do result repl/push-result println nil? "" string]
1Ai 0
1Ai 1
1Ai 2
1Ai 3
17
19o 101
1Ai 4
05
1Ai 5
05
04i 1
1Ai 6
07
0D
1Ai 7
05
1Ai 8
1Ai 6
05
04i 2
0Bo 16
1Ai 9
05
1Ai 10
04i 1
0D
24
01
09o 4
24
0D
1Ai 11
05
1Ai 12
05
1Ai 13
05
1Ai 6
05
14
04i 2
1Ai 14
07
0D
1Ai 15
05
1Ai 14
05
04i 1
0D
1Ai 16
05
1Ai 17
05
1Ai 14
05
04i 1
0Bo 8
1Ai 18
09o 11
1Ai 19
05
1Ai 14
05
04i 1
04i 1
16
01
} repl/push-result [result] #@[source: [[set! *3 *2] [set! *2 *1] [set! *1 result] [return result]]] #{##[*2 *3 *1 result]
1Ai 0
05
1Ai 1
08
0D
1Ai 2
05
1Ai 0
08
0D
1Ai 3
05
1Ai 2
08
0D
1Ai 3
05
01
01
} repl/cmd [ctx] #@[source: [[def buf ""] [def line ""] [while [not= line "[/cmd]\n"] [set! buf [cat buf line]] [set! line [readline]]] [def expr [cons do [read buf]]] [def result [eval-in ctx expr]] [repl/push-result result] [println [if [nil? result] "" [string result]]]]] #{##["" buf line cat readline not= "[/cmd]\n" do read expr eval-in ctx result repl/push-result println nil? string]
1Ai 0
1Ai 1
07
0D
1Ai 0
1Ai 2
07
0D
24
1B
09o 28
0D
1C
1Ai 3
05
1Ai 1
05
1Ai 2
05
04i 2
1Ai 1
08
0D
1Ai 4
05
04i 0
1Ai 2
08
1Ai 5
05
1Ai 2
05
1Ai 6
04i 2
0Ao -35
0D
1Ai 7
05
1Ai 8
05
1Ai 1
05
04i 1
14
1Ai 9
07
0D
1Ai 10
05
1Ai 11
05
1Ai 9
05
04i 2
1Ai 12
07
0D
1Ai 13
05
1Ai 12
05
04i 1
0D
1Ai 14
05
1Ai 15
05
1Ai 12
05
04i 1
0Bo 8
1Ai 0
09o 11
1Ai 16
05
1Ai 12
05
04i 1
04i 1
01
} repl/readline [ctx] #@[source: [[def line [readline [repl/prompt]]] [when [nil? line] [display "Adios, cowboy...\r\n"] [exit 0]] [if [= line "[cmd]\n"] [repl/cmd ctx] [repl/cmd/raw ctx line]]]] #{##[readline repl/prompt line nil? print "Adios, cowboy...\r\n" exit "[cmd]\n" repl/cmd ctx repl/cmd/raw]
1Ai 0
05
1Ai 1
05
04i 0
04i 1
1Ai 2
07
0D
1Ai 3
05
1Ai 2
05
04i 1
0Bo 21
1Ai 4
05
1Ai 5
04i 1
0D
1Ai 6
05
02i 0
04i 1
09o 4
24
0D
1Ai 2
05
1Ai 7
20
0Bo 14
1Ai 8
05
1Ai 9
05
04i 1
09o 14
1Ai 10
05
1Ai 9
05
1Ai 2
05
04i 2
01
} repl [] #@[source: [[repl/welcome] [while #t [try repl/exception-handler [repl/readline root-closure]]]]] #{##[repl/welcome repl/exception-handler repl/readline root-closure #t]
1Ai 0
05
04i 0
0D
24
1B
09o 20
0D
1C
1Ai 1
05
19o 12
1Ai 2
05
1Ai 3
05
04i 1
16
1Ai 4
0Ao -19
01
} repl/print-help [] #@[source: [[println [cat [ansi-rainbow "Nujel"] " - A Lisp dialect for games.\n"]] [println [cat [ansi-green "Usage:"] " nujel [options] [command_string | file]"]] [println [cat "\nLow-level options - for work on the runtime itself"]] [println [cat "  " [ansi-yellow "v"] " - be verbose"]] [println [cat "\nHigh-level options - for working with/on Nujel code"]] [println [cat "  " [ansi-blue "x"] " - Run the expression following this argument directly"]] [println [cat "  " [ansi-blue "h"] " - Print this help screen"]] [println [cat "\nLong options - for working with/on Nujel code"]] [println [cat "  " [ansi-blue "no-color"] " - Disable ANSI color"]] [println [cat "  " [ansi-blue "color   "] " - Enable ANSI color"]]]] #{##[println cat ansi-rainbow "Nujel" " - A Lisp dialect for games.\n" ansi-green "Usage:" " nujel [options] [command_string | file]" "\nLow-level options - for work on the runtime itself" "  " ansi-yellow "v" " - be verbose" "\nHigh-level options - for working with/on Nujel code" ansi-blue "x" " - Run the expression following this argument directly" "h" " - Print this help screen" "\nLong options - for working with/on Nujel code" "no-color" " - Disable ANSI color" "color   " " - Enable ANSI color"]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
04i 1
1Ai 4
04i 2
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 5
05
1Ai 6
04i 1
1Ai 7
04i 2
04i 1
0D
1Ai 0
05
1Ai 8
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 9
1Ai 10
05
1Ai 11
04i 1
1Ai 12
04i 3
04i 1
0D
1Ai 0
05
1Ai 13
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 9
1Ai 14
05
1Ai 15
04i 1
1Ai 16
04i 3
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 9
1Ai 14
05
1Ai 17
04i 1
1Ai 18
04i 3
04i 1
0D
1Ai 0
05
1Ai 19
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 9
1Ai 14
05
1Ai 20
04i 1
1Ai 21
04i 3
04i 1
0D
1Ai 0
05
1Ai 1
05
1Ai 9
1Ai 14
05
1Ai 22
04i 1
1Ai 23
04i 3
04i 1
01
} tree/set! h anonymous [option] #@[source: [[repl/print-help] [set! repl/parse-args/run-repl #f]]] #{##[repl/print-help #f repl/parse-args/run-repl]
1Ai 0
05
04i 0
0D
1Ai 1
1Ai 2
08
01
} no-color [option] #@[source: [[set! ansi/disabled ""]]] #{##["" ansi/disabled]
1Ai 0
1Ai 1
08
01
} color [option] #@[source: [[set! ansi/disabled #f]]] #{##[#f ansi/disabled]
1Ai 0
1Ai 1
08
01
} x [option] #@[source: [[set! repl/parse-args/eval-next #t] [set! repl/parse-args/run-repl #f]]] #{##[#t repl/parse-args/eval-next #f repl/parse-args/run-repl]
1Ai 0
1Ai 1
08
0D
1Ai 2
1Ai 3
08
01
} :default [option] #@[source: [[tree/set! repl/options option #t]]] #{##[tree/set! repl/options option #t]
1Ai 0
05
1Ai 1
05
1Ai 2
05
1Ai 3
04i 3
01
} repl/parse-option [option] #@[source: [[[or [ref repl/option-map option] [ref repl/option-map :default]] option]]] #{##[ref repl/option-map option :default #f]
1Ai 0
05
1Ai 1
05
1Ai 2
05
04i 2
0C
0Ao 21
0D
1Ai 0
05
1Ai 1
05
1Ai 3
04i 2
0C
0Ao 6
0D
1Ai 4
1Ai 2
05
04i 1
01
} repl/parse-options [options] #@[source: [[if [= [char-at options 0] 45] [repl/parse-option [string->keyword [cut options 1]]] [for-each [map [split options ""] string->symbol] repl/parse-option]]]] #{##[char-at options repl/parse-option symbol->keyword string->symbol cut for-each map split ""]
1Ai 0
05
1Ai 1
05
02i 0
04i 2
02i 45
20
0Bo 31
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
1Ai 1
05
02i 1
04i 2
04i 1
04i 1
04i 1
09o 29
1Ai 6
05
1Ai 7
05
1Ai 8
05
1Ai 1
05
1Ai 9
04i 2
1Ai 4
05
04i 2
1Ai 2
05
04i 2
01
} repl/parse-arg [arg] #@[source: [[cond [repl/parse-args/eval-next [try display/error [eval-in root-closure [cons do [read arg]]] [set! repl/parse-args/eval-next #f]]] [[= [char-at arg 0] 45] [repl/parse-options [string/cut arg 1]]] [#t [try display/error [file/eval arg]] [set! repl/parse-args/run-repl #f]]]]] #{##[repl/parse-args/eval-next display/error eval-in root-closure do read arg #f char-at repl/parse-options string/cut #t file/eval repl/parse-args/run-repl]
1Ai 0
05
0Bo 39
1Ai 1
05
19o 30
1Ai 2
05
1Ai 3
05
1Ai 4
05
1Ai 5
05
1Ai 6
05
04i 1
14
04i 2
0D
1Ai 7
1Ai 0
08
16
09o 67
1Ai 8
05
1Ai 6
05
02i 0
04i 2
02i 45
20
0Bo 21
1Ai 9
05
1Ai 10
05
1Ai 6
05
02i 1
04i 2
04i 1
09o 33
1Ai 11
0Bo 27
1Ai 1
05
19o 12
1Ai 12
05
1Ai 6
05
04i 1
16
0D
1Ai 7
1Ai 13
08
09o 4
24
01
} repl/parse-args [args] #@[source: [[if args [do [repl/parse-arg [car args]] [repl/parse-args [cdr args]]] repl/parse-args/run-repl]]] #{##[args repl/parse-arg repl/parse-args repl/parse-args/run-repl]
1Ai 0
05
0Bo 25
1Ai 1
05
1Ai 0
05
11
04i 1
0D
1Ai 2
05
1Ai 0
05
12
04i 1
09o 6
1Ai 3
05
01
} repl/init/wasm [args] #@[source: [[repl/welcome]]] #{##[repl/welcome]
1Ai 0
05
04i 0
01
} repl/init/bin [args] #@[source: [[try repl/exception-handler [set! repl/executable-name [car args]] [when [repl/parse-args [cdr args]] [repl]]]]] #{##[repl/exception-handler args repl/executable-name repl/parse-args repl]
1Ai 0
05
19o 33
1Ai 1
05
11
1Ai 2
08
0D
1Ai 3
05
1Ai 1
05
12
04i 1
0Bo 11
1Ai 4
05
04i 0
09o 4
24
16
01
} repl/init args #@[source: [[set! repl/args args] [if [= System/Architecture 'wasm] [repl/init/wasm args] [repl/init/bin args]]]] #{##[args repl/args System/Architecture wasm repl/init/wasm repl/init/bin]
1Ai 0
05
1Ai 1
08
0D
1Ai 2
05
1Ai 3
20
0Bo 14
1Ai 4
05
1Ai 0
05
04i 1
09o 11
1Ai 5
05
1Ai 0
05
04i 1
01
}]
24
1Ai 0
07
0D
24
1Ai 1
07
0D
24
1Ai 2
07
0D
1Ai 3
1Ai 4
07
0D
24
1Ai 5
07
0D
1Ai 6
1Ai 7
07
0D
1Ai 8
1Ai 9
07
0D
1Ai 10
05
24
04i 1
1Ai 11
07
0D
1Ai 10
05
24
04i 1
1Ai 12
07
0D
1Ai 13
1Ai 14
1Ai 15
1Ai 16
17
1Ai 13
07
0D
1Ai 17
1Ai 18
1Ai 19
1Ai 20
17
1Ai 17
07
0D
1Ai 21
1Ai 22
1Ai 23
1Ai 24
17
1Ai 21
07
0D
1Ai 25
1Ai 26
1Ai 27
1Ai 28
17
1Ai 25
07
0D
1Ai 29
1Ai 30
1Ai 31
1Ai 32
17
1Ai 29
07
0D
1Ai 33
1Ai 34
1Ai 35
1Ai 36
17
1Ai 33
07
0D
1Ai 37
1Ai 38
1Ai 39
1Ai 40
17
1Ai 37
07
0D
1Ai 41
1Ai 42
1Ai 43
1Ai 44
17
1Ai 41
07
0D
1Ai 45
1Ai 46
1Ai 47
1Ai 48
17
1Ai 45
07
0D
1Ai 49
1Ai 50
1Ai 51
1Ai 52
17
1Ai 49
07
0D
1Ai 53
05
1Ai 12
05
1Ai 54
1Ai 55
1Ai 56
1Ai 57
1Ai 58
17
04i 3
0D
1Ai 53
05
1Ai 12
05
1Ai 59
1Ai 55
1Ai 60
1Ai 61
1Ai 62
17
04i 3
0D
1Ai 53
05
1Ai 12
05
1Ai 63
1Ai 55
1Ai 64
1Ai 65
1Ai 66
17
04i 3
0D
1Ai 53
05
1Ai 12
05
1Ai 67
1Ai 55
1Ai 68
1Ai 69
1Ai 70
17
04i 3
0D
1Ai 53
05
1Ai 12
05
1Ai 71
1Ai 55
1Ai 72
1Ai 73
1Ai 74
17
04i 3
0D
1Ai 75
1Ai 76
1Ai 77
1Ai 78
17
1Ai 75
07
0D
1Ai 79
1Ai 80
1Ai 81
1Ai 82
17
1Ai 79
07
0D
1Ai 83
1Ai 84
1Ai 85
1Ai 86
17
1Ai 83
07
0D
1Ai 87
1Ai 88
1Ai 89
1Ai 90
17
1Ai 87
07
0D
1Ai 91
1Ai 92
1Ai 93
1Ai 94
17
1Ai 91
07
0D
1Ai 95
1Ai 96
1Ai 97
1Ai 98
17
1Ai 95
07
0D
1Ai 99
1Ai 100
1Ai 101
1Ai 102
17
1Ai 99
07
01
}