problem
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enter search term:
Next
regexp
Prev
Occur

X
**
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enter search term:
Next
regexp
Prev
Occur

X
'return'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enter search term:
Next
regexp
Prev
Occur

X
[log] storing os at 2437405
[log] storing to at 0
[log] storing read at 0
[log] storing vector at 0
[log] storing USER at 0
[log] storing to at 0
[log] storing read at 0
[log] storing vector at 0
[log] storing USER at 0
[log] World successfully saved
[log] https://smalltalkzoo.computerhistory.org/core/anonymous_module_63 loaded in 2 ms
[warn] misspelled option "useElasticTabstops"
[warn] misspelled option "behaviorsEnabled"
[warn] misspelled option "behaviorsEnabled"
[log] World successfully saved
[log] https://smalltalkzoo.computerhistory.org/core/anonymous_module_64 loaded in 0 ms
[warn] misspelled option "useElasticTabstops"
[warn] misspelled option "behaviorsEnabled"
[warn] misspelled option "behaviorsEnabled"
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
follow log
clear
reattach
Log Messages
X

Menu
bench
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enter search term:
Next
regexp
Prev
Occur

X
ObjectEditor -- VMPanel2>>-- ALL --
X

Menu
//retnCtxt.mode = 'apply';
return retnCtxt
}
var vName = msg.peekToken();
if (this.isAtom(vName) && vName != ".") {
msg.put(vName, ctxt.value);
msg.nextToken(); // gobble the var name
}
var retnCtxt = ctxt.popCaller();
retnCtxt.value = ctxt.value;
retnCtxt.mode = 'apply';
return retnCtxt
});
// changed at Sun Jun 07 2020 10:43:22 GMT-0700 (Pacific Daylight Time) by
    unknown_user
this.addScript(function codeDispGets(ctxt) {
// to disp x ( % _ ? (:x is string?(...) CODE 23))
debugger;
var strOrNum = ctxt.temps[0]; // bound by the fetch
if (typeof strOrNum == "string") {
// show('disp <- ' + strOrNum + ' at ' + this.stepCount)
} else {
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<lively.morphic.Box#48982... - VMPanel2>
Tag:
run
save
debug next call
past saves...
-- ALL --
aboutMe
activate
arithOps
codeAgain
codeAtomBind
codeAtomChars
codeAtomEq
codeBind
codeDispGets
codeDone
codeEscape
codeFetch
codeFor
Scripts
-
+
-
Connections
+
-- ALL --
all
VMPanel
X

Menu
flags[i]=1?(
"prime _ i+1.
"k _ i + prime.
repeat (
k > size ? (done)
flags[k] _ 0.
"k _ k + prime)
"count _ count + 1))
!count)
'benchmark - benchmark 6/10/2020 2,380,000 cycles 1.0 sec'
'THE TRUTH ABOUT FILES
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Restart
Step
Run
[0]8:-/m-/g-: USER.eval: (==>read eval )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Run to:
0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Active
[0] t= 0.01
(to to x (CODE 19 ) )
[0] t= 0.04
(to read (CODE 2 ) )
[0] t= 0.05
(to vector x y z (CODE 3 ) )
[0] t= 0.07
(to USER (read eval ) )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Stop
Dict
200000
00
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
depth: 1
reset
Next to do
1) return to substr at "menustr <- ... (below)
2) Optional: try running stream in St, used at 10385 PUT tabin "fill {...
should run ok when substr works with [a to b]
We're into substr at 38161, having run fill on 'ADD...'
note that kbd returns a space at the beginning
to fill t i l str (
"l _ :str length. "i _ 0.
repeat
(i = l?(done)
"t _ kbd. str["i _ i + 1] _ t. disp _ t. t=13?(done)).
!str)
"menulen _ 10.
' ***needs x[a to b] find...'
do menulen ("x_fill string 9.
"menustr_menustr+x[1 to x[1 to 9]find 13]).
Add
Insert
Replace
'abc' instanceof string
typeof 'abc' == 'string'true
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
doit
JavaScript Workspace
X

Menu
ObjectEditor -- VMPanel2>>yetToDo
X

Menu
// [X] Now make fetch do a reentrant call of eval at least in this case
// [X] Move 'repeat' flag to 'token' temp of for, repeat
// [X] put % into eval to simplify
// [X] put " into eval to simplify
// [X] put ! into eval to simplify
// [X] put : into eval to simplify
// requires fetch to set bind mode to support autobind
// [ ] Fix the bug in "menustr <-"
// [ ] revisit use of vecEval in for, repeat
// [ ] revisit / and mod with negative numbers
// [ ] deal with floats or drop them - enough to do turtle
// [X] 6/10/2020 running at approx 2.4M steps/sec!
// benchmark [2,380,000] runs in 0.95 sec or about 650x Alto
// [X] Read of ALLDEFS in 69287 cycles in 1.75 sec (~30k/sec)
// [ ] Get float working?? - or rework as JS numbers?
// [ ] Get a textframe working - take over transcript as a REPL
// [ ] Get a canvas working - add a pane to right of this panel
// Hook it up to run spiral "for i to 300 (@go i turn 89)"
// [ ] Clean it up, save it and document it in the Zoo
// [ ] Make up a new ALLDEFS
// [ ] Make up a morphic wih canvas and textframe
// [ ] We'll want a filin/filout as well as the ALLDEFS
// [ ] Get to work on vector.eval, atom.eval and object.eval
});
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<lively.morphic.Box#48982... - VMPanel2>
Tag:
run
save
debug next call
past saves...
printStack
printVector
rawNum
readLines
readThroughUser
reset
run
scanTokens
st72ClassOf
step
substrGets
vectorFromTokens
vecToString
yetToDo
Scripts
-
+
-
Connections
+
-- ALL --
all