clean up files
This commit is contained in:
parent
dc0bb37193
commit
1939792482
1594
package-lock.json
generated
1594
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@ludus/rudus",
|
|
||||||
"version": "0.1.3",
|
|
||||||
"description": "A Rust-based Ludus bytecode interpreter.",
|
|
||||||
"type": "module",
|
|
||||||
"main": "pkg/ludus.js",
|
|
||||||
"directories": {},
|
|
||||||
"keywords": [],
|
|
||||||
"author": "Scott Richmond",
|
|
||||||
"license": "GPL-3.0",
|
|
||||||
"files": [
|
|
||||||
"pkg/rudus.js",
|
|
||||||
"pkg/ludus.js",
|
|
||||||
"pkg/rudus_bg.wasm",
|
|
||||||
"pkg/rudus_bg.wasm.d.ts",
|
|
||||||
"pkg/rudus.d.ts"
|
|
||||||
],
|
|
||||||
"devDependencies": {
|
|
||||||
}
|
|
||||||
}
|
|
34
sandbox.ld
34
sandbox.ld
|
@ -1,34 +0,0 @@
|
||||||
fn inputter () -> {
|
|
||||||
if do input > unbox > empty?
|
|
||||||
then {
|
|
||||||
yield! ()
|
|
||||||
inputter ()
|
|
||||||
}
|
|
||||||
else receive {
|
|
||||||
(:get, pid) -> send (pid, (:reply, unbox (input)))
|
|
||||||
(:flush, pid) -> {
|
|
||||||
send (pid, (:reply, unbox (input)))
|
|
||||||
store! (input, "")
|
|
||||||
}
|
|
||||||
(:clear) -> store! (input, "")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fn clear_input () -> store! (input, "")
|
|
||||||
|
|
||||||
fn read_input () -> {
|
|
||||||
let reader = spawn! (inputter)
|
|
||||||
send (reader, (:get, self ()))
|
|
||||||
receive {
|
|
||||||
(:reply, msg) -> msg
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn flush_input () -> {
|
|
||||||
let reader = spawn! (inputter)
|
|
||||||
send (reader, (:flush, self ()))
|
|
||||||
receive {
|
|
||||||
(:reply, msg) -> msg
|
|
||||||
}
|
|
||||||
}
|
|
444
sandbox_run.txt
444
sandbox_run.txt
|
@ -1,444 +0,0 @@
|
||||||
entering world loop; active process is axolotl_0
|
|
||||||
closing over in type at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in eq? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in eq? at 2: fn eq?
|
|
||||||
closing over in first at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in rest at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in inc at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in dec at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in count at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in any? at 1: fn empty?
|
|
||||||
closing over in any? at 2: fn not
|
|
||||||
closing over in list at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in append at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in fold at 1: fn fold
|
|
||||||
closing over in fold at 2: fn first
|
|
||||||
closing over in fold at 3: fn rest
|
|
||||||
closing over in foldr at 1: fn foldr
|
|
||||||
closing over in foldr at 2: fn first
|
|
||||||
closing over in foldr at 3: fn rest
|
|
||||||
closing over in map at 1: fn map
|
|
||||||
closing over in map at 2: fn append
|
|
||||||
closing over in map at 3: fn fold
|
|
||||||
closing over in filter at 1: fn filter
|
|
||||||
closing over in filter at 2: fn append
|
|
||||||
closing over in filter at 3: fn fold
|
|
||||||
closing over in keep at 1: fn some?
|
|
||||||
closing over in keep at 2: fn filter
|
|
||||||
closing over in concat at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in concat at 2: fn concat
|
|
||||||
closing over in concat at 3: fn fold
|
|
||||||
closing over in contains? at 1: fn first
|
|
||||||
closing over in contains? at 2: fn eq?
|
|
||||||
closing over in contains? at 3: fn rest
|
|
||||||
closing over in unbox at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in store! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in update! at 1: fn unbox
|
|
||||||
closing over in update! at 2: fn store!
|
|
||||||
closing over in show at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in string at 1: fn show
|
|
||||||
closing over in string at 2: fn string
|
|
||||||
closing over in string at 3: fn concat
|
|
||||||
closing over in join at 1: fn join
|
|
||||||
closing over in join at 2: fn concat
|
|
||||||
closing over in join at 3: fn fold
|
|
||||||
closing over in split at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in trim at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in upcase at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in downcase at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in chars at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in chars/safe at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in strip at 1: fn strip
|
|
||||||
closing over in words at 1: fn strip
|
|
||||||
closing over in words at 2: fn split
|
|
||||||
closing over in words at 3: fn empty?
|
|
||||||
closing over in words at 4: fn append
|
|
||||||
closing over in words at 5: fn fold
|
|
||||||
closing over in sentence at 1: fn join
|
|
||||||
closing over in to_number at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in print! at 1: fn string
|
|
||||||
closing over in print! at 2: fn map
|
|
||||||
closing over in print! at 3: fn join
|
|
||||||
closing over in print! at 4: #{:sin fn sin/base, ...
|
|
||||||
closing over in print! at 5: box { [] }
|
|
||||||
closing over in print! at 6: fn append
|
|
||||||
closing over in print! at 7: fn update!
|
|
||||||
closing over in report! at 1: fn print!
|
|
||||||
closing over in report! at 2: fn show
|
|
||||||
closing over in report! at 3: fn concat
|
|
||||||
closing over in doc! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in doc! at 2: fn print!
|
|
||||||
closing over in add at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in add at 2: fn add
|
|
||||||
closing over in add at 3: fn fold
|
|
||||||
closing over in sub at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in sub at 2: fn sub
|
|
||||||
closing over in sub at 3: fn fold
|
|
||||||
closing over in mult at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in mult at 2: fn mult
|
|
||||||
closing over in mult at 3: fn fold
|
|
||||||
closing over in div at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in div at 2: fn mult
|
|
||||||
closing over in div at 3: fn fold
|
|
||||||
closing over in div at 4: fn div
|
|
||||||
closing over in div/0 at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in div/0 at 2: fn mult
|
|
||||||
closing over in div/0 at 3: fn fold
|
|
||||||
closing over in div/0 at 4: fn div/0
|
|
||||||
closing over in div/safe at 1: fn div
|
|
||||||
closing over in div/safe at 2: fn mult
|
|
||||||
closing over in div/safe at 3: fn fold
|
|
||||||
closing over in div/safe at 4: fn div/safe
|
|
||||||
closing over in inv at 1: fn div
|
|
||||||
closing over in inv/0 at 1: fn div/0
|
|
||||||
closing over in inv/safe at 1: fn div/safe
|
|
||||||
closing over in neg at 1: fn mult
|
|
||||||
closing over in gt? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in gte? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in lt? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in lte? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in between? at 1: fn gte?
|
|
||||||
closing over in between? at 2: fn lt?
|
|
||||||
closing over in neg? at 1: fn lt?
|
|
||||||
closing over in pos? at 1: fn gt?
|
|
||||||
closing over in abs at 1: fn neg?
|
|
||||||
closing over in abs at 2: fn mult
|
|
||||||
closing over in turn/deg at 1: fn mult
|
|
||||||
closing over in deg/turn at 1: fn div
|
|
||||||
closing over in turn/rad at 1: 6.283185307179586
|
|
||||||
closing over in turn/rad at 2: fn mult
|
|
||||||
closing over in rad/turn at 1: 6.283185307179586
|
|
||||||
closing over in rad/turn at 2: fn div
|
|
||||||
closing over in deg/rad at 1: 6.283185307179586
|
|
||||||
closing over in deg/rad at 2: fn div
|
|
||||||
closing over in deg/rad at 3: fn mult
|
|
||||||
closing over in rad/deg at 1: 6.283185307179586
|
|
||||||
closing over in rad/deg at 2: fn div
|
|
||||||
closing over in rad/deg at 3: fn mult
|
|
||||||
closing over in sin at 1: fn turn/rad
|
|
||||||
closing over in sin at 2: #{:sin fn sin/base, ...
|
|
||||||
closing over in sin at 3: fn deg/rad
|
|
||||||
closing over in cos at 1: fn turn/rad
|
|
||||||
closing over in cos at 2: #{:sin fn sin/base, ...
|
|
||||||
closing over in cos at 3: fn deg/rad
|
|
||||||
closing over in tan at 1: fn turn/rad
|
|
||||||
closing over in tan at 2: #{:sin fn sin/base, ...
|
|
||||||
closing over in tan at 3: fn deg/rad
|
|
||||||
closing over in rotate at 1: fn rotate
|
|
||||||
closing over in rotate at 2: fn cos
|
|
||||||
closing over in rotate at 3: fn mult
|
|
||||||
closing over in rotate at 4: fn sin
|
|
||||||
closing over in rotate at 5: fn sub
|
|
||||||
closing over in rotate at 6: fn add
|
|
||||||
closing over in atan/2 at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in atan/2 at 2: fn rad/turn
|
|
||||||
closing over in atan/2 at 3: fn atan/2
|
|
||||||
closing over in atan/2 at 4: fn rad/deg
|
|
||||||
closing over in angle at 1: fn atan/2
|
|
||||||
closing over in angle at 2: fn sub
|
|
||||||
closing over in mod at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in mod/0 at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in mod/safe at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in even? at 1: fn mod
|
|
||||||
closing over in even? at 2: fn eq?
|
|
||||||
closing over in odd? at 1: fn mod
|
|
||||||
closing over in odd? at 2: fn eq?
|
|
||||||
closing over in square at 1: fn mult
|
|
||||||
closing over in sqrt at 1: fn neg?
|
|
||||||
closing over in sqrt at 2: fn not
|
|
||||||
closing over in sqrt at 3: #{:sin fn sin/base, ...
|
|
||||||
closing over in sqrt/safe at 1: fn neg?
|
|
||||||
closing over in sqrt/safe at 2: fn not
|
|
||||||
closing over in sqrt/safe at 3: #{:sin fn sin/base, ...
|
|
||||||
closing over in sum_of_squares at 1: fn square
|
|
||||||
closing over in sum_of_squares at 2: fn add
|
|
||||||
closing over in sum_of_squares at 3: fn sum_of_squares
|
|
||||||
closing over in sum_of_squares at 4: fn fold
|
|
||||||
closing over in dist at 1: fn sum_of_squares
|
|
||||||
closing over in dist at 2: fn sqrt
|
|
||||||
closing over in dist at 3: fn dist
|
|
||||||
closing over in heading/vector at 1: fn neg
|
|
||||||
closing over in heading/vector at 2: fn add
|
|
||||||
closing over in heading/vector at 3: fn cos
|
|
||||||
closing over in heading/vector at 4: fn sin
|
|
||||||
closing over in floor at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in ceil at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in round at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in range at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in at at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in second at 1: fn ordered?
|
|
||||||
closing over in second at 2: fn at
|
|
||||||
closing over in last at 1: fn ordered?
|
|
||||||
closing over in last at 2: fn count
|
|
||||||
closing over in last at 3: fn dec
|
|
||||||
closing over in last at 4: fn at
|
|
||||||
closing over in slice at 1: fn slice
|
|
||||||
closing over in slice at 2: fn gte?
|
|
||||||
closing over in slice at 3: fn count
|
|
||||||
closing over in slice at 4: fn gt?
|
|
||||||
closing over in slice at 5: fn neg?
|
|
||||||
closing over in slice at 6: #{:sin fn sin/base, ...
|
|
||||||
closing over in butlast at 1: fn count
|
|
||||||
closing over in butlast at 2: fn dec
|
|
||||||
closing over in butlast at 3: fn slice
|
|
||||||
closing over in assoc at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in dissoc at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in get at 1: fn get
|
|
||||||
closing over in get at 2: #{:sin fn sin/base, ...
|
|
||||||
closing over in update at 1: fn get
|
|
||||||
closing over in update at 2: fn assoc
|
|
||||||
closing over in keys at 1: fn list
|
|
||||||
closing over in keys at 2: fn first
|
|
||||||
closing over in keys at 3: fn map
|
|
||||||
closing over in values at 1: fn list
|
|
||||||
closing over in values at 2: fn second
|
|
||||||
closing over in values at 3: fn map
|
|
||||||
closing over in has? at 1: fn has?
|
|
||||||
closing over in has? at 2: fn get
|
|
||||||
closing over in has? at 3: fn some?
|
|
||||||
closing over in dict at 1: fn assoc
|
|
||||||
closing over in dict at 2: fn fold
|
|
||||||
closing over in dict at 3: fn list
|
|
||||||
closing over in dict at 4: fn dict
|
|
||||||
closing over in each! at 1: fn each!
|
|
||||||
closing over in random at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in random at 2: fn random
|
|
||||||
closing over in random at 3: fn mult
|
|
||||||
closing over in random at 4: fn sub
|
|
||||||
closing over in random at 5: fn add
|
|
||||||
closing over in random at 6: fn count
|
|
||||||
closing over in random at 7: fn floor
|
|
||||||
closing over in random at 8: fn at
|
|
||||||
closing over in random at 9: fn keys
|
|
||||||
closing over in random at 10: fn get
|
|
||||||
closing over in random_int at 1: fn random
|
|
||||||
closing over in random_int at 2: fn floor
|
|
||||||
closing over in add_command! at 1: box { [] }
|
|
||||||
closing over in add_command! at 2: fn append
|
|
||||||
closing over in add_command! at 3: fn update!
|
|
||||||
closing over in add_command! at 4: box { #{:penwidth 1,...
|
|
||||||
closing over in add_command! at 5: fn unbox
|
|
||||||
closing over in add_command! at 6: fn apply_command
|
|
||||||
closing over in add_command! at 7: fn store!
|
|
||||||
closing over in forward! at 1: fn add_command!
|
|
||||||
closing over in back! at 1: fn add_command!
|
|
||||||
closing over in left! at 1: fn add_command!
|
|
||||||
closing over in right! at 1: fn add_command!
|
|
||||||
closing over in penup! at 1: fn add_command!
|
|
||||||
closing over in pendown! at 1: fn add_command!
|
|
||||||
closing over in pencolor! at 1: fn add_command!
|
|
||||||
closing over in penwidth! at 1: fn add_command!
|
|
||||||
closing over in background! at 1: fn add_command!
|
|
||||||
closing over in home! at 1: fn add_command!
|
|
||||||
closing over in clear! at 1: fn add_command!
|
|
||||||
closing over in goto! at 1: fn add_command!
|
|
||||||
closing over in goto! at 2: fn goto!
|
|
||||||
closing over in setheading! at 1: fn add_command!
|
|
||||||
closing over in showturtle! at 1: fn add_command!
|
|
||||||
closing over in hideturtle! at 1: fn add_command!
|
|
||||||
closing over in loadstate! at 1: fn add_command!
|
|
||||||
closing over in apply_command at 1: fn assoc
|
|
||||||
closing over in apply_command at 2: fn add
|
|
||||||
closing over in apply_command at 3: fn update
|
|
||||||
closing over in apply_command at 4: fn sub
|
|
||||||
closing over in apply_command at 5: fn heading/vector
|
|
||||||
closing over in apply_command at 6: fn mult
|
|
||||||
closing over in position at 1: box { #{:penwidth 1,...
|
|
||||||
closing over in position at 2: fn unbox
|
|
||||||
closing over in heading at 1: box { #{:penwidth 1,...
|
|
||||||
closing over in heading at 2: fn unbox
|
|
||||||
closing over in pendown? at 1: box { #{:penwidth 1,...
|
|
||||||
closing over in pendown? at 2: fn unbox
|
|
||||||
closing over in pencolor at 1: box { #{:penwidth 1,...
|
|
||||||
closing over in pencolor at 2: fn unbox
|
|
||||||
closing over in penwidth at 1: box { #{:penwidth 1,...
|
|
||||||
closing over in penwidth at 2: fn unbox
|
|
||||||
closing over in self at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in send at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in spawn! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in yield! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in alive? at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in link! at 1: fn link!
|
|
||||||
closing over in link! at 2: #{:sin fn sin/base, ...
|
|
||||||
closing over in msgs at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in flush! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in flush_i! at 1: #{:sin fn sin/base, ...
|
|
||||||
closing over in sleep! at 1: #{:sin fn sin/base, ...
|
|
||||||
yielded from axolotl_0
|
|
||||||
***match clause: : (:set, x)
|
|
||||||
binding `x` in sandbox
|
|
||||||
stack depth: 3; match depth: 0
|
|
||||||
at stack index: 2
|
|
||||||
new locals: x@2//1
|
|
||||||
resolving binding `x` in sandbox
|
|
||||||
locals: x@2//1
|
|
||||||
at locals position 2
|
|
||||||
leaving scope 1
|
|
||||||
releasing binding x@2//1
|
|
||||||
leaving scope 0
|
|
||||||
***leaving block before pop stack depth: 1
|
|
||||||
popping back from 1 to 0
|
|
||||||
=== source code ===
|
|
||||||
& fn receive (receiver) -> {
|
|
||||||
& fn looper {
|
|
||||||
& ([], _) -> yield! ()
|
|
||||||
& (xs, i) -> {
|
|
||||||
& print!("looping through messages:", xs)
|
|
||||||
& match receiver (first (xs), i) with {
|
|
||||||
& :does_not_understand -> looper (rest (xs), inc (i))
|
|
||||||
& x -> x
|
|
||||||
& }}
|
|
||||||
& }
|
|
||||||
& print! ("receiving in", self (), "with messages", msgs())
|
|
||||||
& looper (msgs (), 0)
|
|
||||||
& }
|
|
||||||
|
|
||||||
& fn agent (x) -> receive (fn (msg, i) -> {
|
|
||||||
& print!("received msg in agent: ", msg)
|
|
||||||
& match msg with {
|
|
||||||
& (:get, pid) -> {
|
|
||||||
& flush_i! (i)
|
|
||||||
& print!("getted from {pid}")
|
|
||||||
& send (pid, (:response, x))
|
|
||||||
& agent (x)
|
|
||||||
& }
|
|
||||||
& (:set, y) -> {flush_i!(i); print!("setted! {y}"); agent (y)}
|
|
||||||
& (:update, f) -> {flush_i!(i);print!("updated: {f}"); agent (f (x))}
|
|
||||||
& y -> {print!("no agent reception match!!!! {y}");:does_not_understand}
|
|
||||||
& }
|
|
||||||
& })
|
|
||||||
|
|
||||||
& fn agent/get (pid) -> {
|
|
||||||
& send (pid, (:get, self ()))
|
|
||||||
& yield! ()
|
|
||||||
& receive (fn (msg, i) -> match msg with {
|
|
||||||
& (:response, x) -> {flush_i! (i); x}
|
|
||||||
& })
|
|
||||||
& }
|
|
||||||
|
|
||||||
& fn agent/set (pid, val) -> send (pid, (:set, val))
|
|
||||||
|
|
||||||
& fn agent/update (pid, f) -> send (pid, (:update, f))
|
|
||||||
|
|
||||||
& let counter = spawn! (fn () -> agent (0))
|
|
||||||
& agent/set (counter, 12)
|
|
||||||
|
|
||||||
match (:set, 12) with {
|
|
||||||
(:set, x) -> x
|
|
||||||
}
|
|
||||||
|
|
||||||
=== chunk: sandbox ===
|
|
||||||
IDX | CODE | INFO
|
|
||||||
0000: constant 00000: :set
|
|
||||||
0003: constant 00001: 12
|
|
||||||
0006: push_tuple 002
|
|
||||||
0008: ***match clause: : (:set, x)
|
|
||||||
0010: match_tuple 002
|
|
||||||
0012: jump_if_no_match 00028
|
|
||||||
0015: load_tuple
|
|
||||||
0016: match_depth 001
|
|
||||||
0018: match_constant 00000: :set
|
|
||||||
0021: jump_if_no_match 00017
|
|
||||||
0024: match_depth 000
|
|
||||||
0026: match
|
|
||||||
0027: binding `x` in sandbox
|
|
||||||
0029: stack depth: 3; match depth: 0
|
|
||||||
0031: at stack index: 2
|
|
||||||
0033: new locals: x@2//1
|
|
||||||
0035: jump_if_no_match 00003
|
|
||||||
0038: jump 00002
|
|
||||||
0041: pop_n 002
|
|
||||||
0043: jump_if_no_match 00016
|
|
||||||
0046: resolving binding `x` in sandbox
|
|
||||||
locals: x@2//1
|
|
||||||
0048: at locals position 2
|
|
||||||
0050: push_binding 002
|
|
||||||
0052: store
|
|
||||||
0053: leaving scope 1
|
|
||||||
0055: releasing binding x@2//1
|
|
||||||
0057: pop_n 002
|
|
||||||
0059: jump 00001
|
|
||||||
0062: panic_no_match
|
|
||||||
0063: load
|
|
||||||
0064: store
|
|
||||||
0065: leaving scope 0
|
|
||||||
0067: ***leaving block before pop stack depth: 1
|
|
||||||
0069: popping back from 1 to 0
|
|
||||||
0071: pop
|
|
||||||
0072: load
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=== vm run ===
|
|
||||||
entering world loop; active process is cormorant_0
|
|
||||||
0000: [] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0000: constant 00000: :set
|
|
||||||
0003: [->:set<-] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0003: constant 00001: 12
|
|
||||||
0006: [->:set<-|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0006: push_tuple 002
|
|
||||||
0008: [->(:set, 12)<-] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0008: ***match clause: : (:set, x)
|
|
||||||
0010: [->(:set, 12)<-] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0010: match_tuple 002
|
|
||||||
0012: [->(:set, 12)<-] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0012: jump_if_no_match 00028
|
|
||||||
0015: [->(:set, 12)<-] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0015: load_tuple
|
|
||||||
0016: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0016: match_depth 001
|
|
||||||
0018: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0018: match_constant 00000: :set
|
|
||||||
0021: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0021: jump_if_no_match 00017
|
|
||||||
0024: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0024: match_depth 000
|
|
||||||
0026: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0026: match
|
|
||||||
0027: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0027: binding `x` in sandbox
|
|
||||||
0029: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0029: stack depth: 3; match depth: 0
|
|
||||||
0031: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0031: at stack index: 2
|
|
||||||
0033: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0033: new locals: x@2//1
|
|
||||||
0035: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0035: jump_if_no_match 00003
|
|
||||||
0038: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0038: jump 00002
|
|
||||||
0043: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0043: jump_if_no_match 00016
|
|
||||||
0046: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0046: resolving binding `x` in sandbox
|
|
||||||
locals: x@2//1
|
|
||||||
0048: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0048: at locals position 2
|
|
||||||
0050: [->(:set, 12)<-|:set|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0050: push_binding 002
|
|
||||||
0052: [->(:set, 12)<-|:set|12|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0052: store
|
|
||||||
0053: [->(:set, 12)<-|:set|12] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0053: leaving scope 1
|
|
||||||
0055: [->(:set, 12)<-|:set|12] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0055: releasing binding x@2//1
|
|
||||||
0057: [->(:set, 12)<-|:set|12] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0057: pop_n 002
|
|
||||||
0059: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0059: jump 00001
|
|
||||||
0063: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0063: load
|
|
||||||
0064: [->(:set, 12)<-|12] (_,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0064: store
|
|
||||||
0065: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0065: leaving scope 0
|
|
||||||
0067: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0067: ***leaving block before pop stack depth: 1
|
|
||||||
0069: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0069: popping back from 1 to 0
|
|
||||||
0071: [->(:set, 12)<-] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0071: pop
|
|
||||||
0072: [] (12,_,_,_,_,_,_,_) cormorant_0 {}
|
|
||||||
0072: load
|
|
||||||
yielded from cormorant_0
|
|
||||||
{"result":"12","io":{"stdout":{"proto":["text-stream","0.1.0"],"data":""},"turtle":{"proto":["turtle-graphics","0.1.0"],"data":[]}}}
|
|
Loading…
Reference in New Issue
Block a user