renamed argcount to a
This commit is contained in:
parent
298ade1752
commit
318255c253
|
@ -286,13 +286,13 @@ EXPORTS['bitmap/url'] =
|
||||||
1,
|
1,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var url = checkString(MACHINE, 'bitmap/url', 0);
|
var url = checkString(MACHINE, 'bitmap/url', 0);
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
PAUSE(
|
PAUSE(
|
||||||
function(restart) {
|
function(restart) {
|
||||||
var rawImage = new Image();
|
var rawImage = new Image();
|
||||||
rawImage.onload = function() {
|
rawImage.onload = function() {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
finalizeClosureCall(
|
finalizeClosureCall(
|
||||||
MACHINE,
|
MACHINE,
|
||||||
makeFileImage(url.toString(),
|
makeFileImage(url.toString(),
|
||||||
|
@ -333,7 +333,7 @@ EXPORTS['overlay'] =
|
||||||
var img1 = checkImage(MACHINE, "overlay", 0);
|
var img1 = checkImage(MACHINE, "overlay", 0);
|
||||||
var img2 = checkImage(MACHINE, "overlay", 1);
|
var img2 = checkImage(MACHINE, "overlay", 1);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 2; i < MACHINE.argcount; i++) {
|
for (var i = 2; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "overlay", i));
|
restImages.push(checkImage(MACHINE, "overlay", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -373,7 +373,7 @@ EXPORTS['overlay/xy'] =
|
||||||
var img1 = checkImage(MACHINE, "overlay/align", 2);
|
var img1 = checkImage(MACHINE, "overlay/align", 2);
|
||||||
var img2 = checkImage(MACHINE, "overlay/align", 3);
|
var img2 = checkImage(MACHINE, "overlay/align", 3);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 4; i < MACHINE.argcount; i++) {
|
for (var i = 4; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "overlay/align", i));
|
restImages.push(checkImage(MACHINE, "overlay/align", i));
|
||||||
}
|
}
|
||||||
var img = makeOverlayImage(img1,
|
var img = makeOverlayImage(img1,
|
||||||
|
@ -400,7 +400,7 @@ EXPORTS['underlay'] =
|
||||||
var img1 = checkImage(MACHINE, "underlay", 0);
|
var img1 = checkImage(MACHINE, "underlay", 0);
|
||||||
var img2 = checkImage(MACHINE, "underlay", 1);
|
var img2 = checkImage(MACHINE, "underlay", 1);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 2; i < MACHINE.argcount; i++) {
|
for (var i = 2; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "underlay", i));
|
restImages.push(checkImage(MACHINE, "underlay", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -437,7 +437,7 @@ EXPORTS['underlay/align'] =
|
||||||
var img1 = checkImage(MACHINE, "underlay/align", 2);
|
var img1 = checkImage(MACHINE, "underlay/align", 2);
|
||||||
var img2 = checkImage(MACHINE, "underlay/align", 3);
|
var img2 = checkImage(MACHINE, "underlay/align", 3);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 4; i < MACHINE.argcount; i++) {
|
for (var i = 4; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "underlay/align", i));
|
restImages.push(checkImage(MACHINE, "underlay/align", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -465,7 +465,7 @@ EXPORTS['beside'] =
|
||||||
var img1 = checkImage(MACHINE, "beside", 0);
|
var img1 = checkImage(MACHINE, "beside", 0);
|
||||||
var img2 = checkImage(MACHINE, "beside", 1);
|
var img2 = checkImage(MACHINE, "beside", 1);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 2; i < MACHINE.argcount; i++) {
|
for (var i = 2; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "beside", i));
|
restImages.push(checkImage(MACHINE, "beside", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -491,7 +491,7 @@ EXPORTS['beside/align'] =
|
||||||
var img1 = checkImage(MACHINE, "beside/align", 1);
|
var img1 = checkImage(MACHINE, "beside/align", 1);
|
||||||
var img2 = checkImage(MACHINE, "beside/align", 2);
|
var img2 = checkImage(MACHINE, "beside/align", 2);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 3; i < MACHINE.argcount; i++) {
|
for (var i = 3; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "beside/align", i));
|
restImages.push(checkImage(MACHINE, "beside/align", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -519,7 +519,7 @@ EXPORTS['above'] =
|
||||||
var img1 = checkImage(MACHINE, "above", 0);
|
var img1 = checkImage(MACHINE, "above", 0);
|
||||||
var img2 = checkImage(MACHINE, "above", 1);
|
var img2 = checkImage(MACHINE, "above", 1);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 2; i < MACHINE.argcount; i++) {
|
for (var i = 2; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "above", i));
|
restImages.push(checkImage(MACHINE, "above", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -546,7 +546,7 @@ EXPORTS['above/align'] =
|
||||||
var img1 = checkImage(MACHINE, "above/align", 1);
|
var img1 = checkImage(MACHINE, "above/align", 1);
|
||||||
var img2 = checkImage(MACHINE, "above/align", 2);
|
var img2 = checkImage(MACHINE, "above/align", 2);
|
||||||
var restImages = [];
|
var restImages = [];
|
||||||
for (var i = 3; i < MACHINE.argcount; i++) {
|
for (var i = 3; i < MACHINE.a; i++) {
|
||||||
restImages.push(checkImage(MACHINE, "above/align", i));
|
restImages.push(checkImage(MACHINE, "above/align", i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -925,7 +925,7 @@ EXPORTS['star'] =
|
||||||
'star',
|
'star',
|
||||||
plt.baselib.lists.makeList(3, 5),
|
plt.baselib.lists.makeList(3, 5),
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
if (MACHINE.argcount === 3) {
|
if (MACHINE.a === 3) {
|
||||||
var sideLength = checkNonNegativeReal(MACHINE, "star", 0);
|
var sideLength = checkNonNegativeReal(MACHINE, "star", 0);
|
||||||
var mode = checkMode(MACHINE, "star", 1);
|
var mode = checkMode(MACHINE, "star", 1);
|
||||||
var color = checkColor(MACHINE, "star", 2);
|
var color = checkColor(MACHINE, "star", 2);
|
||||||
|
@ -934,7 +934,7 @@ EXPORTS['star'] =
|
||||||
jsnums.toFixnum(2),
|
jsnums.toFixnum(2),
|
||||||
mode.toString(),
|
mode.toString(),
|
||||||
color);
|
color);
|
||||||
} else if (MACHINE.argcount === 5) {
|
} else if (MACHINE.a === 5) {
|
||||||
var n = checkSideCount(MACHINE, "star", 0);
|
var n = checkSideCount(MACHINE, "star", 0);
|
||||||
var outer = checkNonNegativeReal(MACHINE, "star", 1);
|
var outer = checkNonNegativeReal(MACHINE, "star", 1);
|
||||||
var inner = checkNonNegativeReal(MACHINE, "star", 2);
|
var inner = checkNonNegativeReal(MACHINE, "star", 2);
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
[(eq? target 'val)
|
[(eq? target 'val)
|
||||||
"M.val"]
|
"M.val"]
|
||||||
[(eq? target 'argcount)
|
[(eq? target 'argcount)
|
||||||
"M.argcount"]
|
"M.a"]
|
||||||
[(EnvLexicalReference? target)
|
[(EnvLexicalReference? target)
|
||||||
(assemble-lexical-reference target)]
|
(assemble-lexical-reference target)]
|
||||||
[(EnvPrefixReference? target)
|
[(EnvPrefixReference? target)
|
||||||
|
@ -276,7 +276,14 @@
|
||||||
|
|
||||||
(: assemble-reg (Reg -> String))
|
(: assemble-reg (Reg -> String))
|
||||||
(define (assemble-reg a-reg)
|
(define (assemble-reg a-reg)
|
||||||
(string-append "M." (symbol->string (Reg-name a-reg))))
|
(let ([name (Reg-name a-reg)])
|
||||||
|
(cond
|
||||||
|
[(eq? name 'proc)
|
||||||
|
"M.proc"]
|
||||||
|
[(eq? name 'val)
|
||||||
|
"M.val"]
|
||||||
|
[(eq? name 'argcount)
|
||||||
|
"M.a"])))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
|
|
||||||
var raiseContextExpectedValuesError = function(MACHINE, expected) {
|
var raiseContextExpectedValuesError = function(MACHINE, expected) {
|
||||||
var message = baselib.format.format("expected ~e values, received ~e values",
|
var message = baselib.format.format("expected ~e values, received ~e values",
|
||||||
[expected, MACHINE.argcount]);
|
[expected, MACHINE.a]);
|
||||||
var contMarks = MACHINE.captureContinuationMarks();
|
var contMarks = MACHINE.captureContinuationMarks();
|
||||||
raise(MACHINE, ExnFailContract.constructor(message, contMarks));
|
raise(MACHINE, ExnFailContract.constructor(message, contMarks));
|
||||||
};
|
};
|
||||||
|
|
|
@ -65,16 +65,16 @@
|
||||||
var returnArgs = [].slice.call(arguments, 1);
|
var returnArgs = [].slice.call(arguments, 1);
|
||||||
|
|
||||||
// clear out stack space
|
// clear out stack space
|
||||||
MACHINE.env.length -= MACHINE.argcount;
|
MACHINE.env.length -= MACHINE.a;
|
||||||
|
|
||||||
if (returnArgs.length === 1) {
|
if (returnArgs.length === 1) {
|
||||||
MACHINE.val = returnArgs[0];
|
MACHINE.val = returnArgs[0];
|
||||||
return MACHINE.control.pop().label(MACHINE);
|
return MACHINE.control.pop().label(MACHINE);
|
||||||
} else if (returnArgs.length === 0) {
|
} else if (returnArgs.length === 0) {
|
||||||
MACHINE.argcount = 0;
|
MACHINE.a = 0;
|
||||||
return MACHINE.control.pop().label.mvr(MACHINE);
|
return MACHINE.control.pop().label.mvr(MACHINE);
|
||||||
} else {
|
} else {
|
||||||
MACHINE.argcount = returnArgs.length;
|
MACHINE.a = returnArgs.length;
|
||||||
MACHINE.val = returnArgs.shift();
|
MACHINE.val = returnArgs.shift();
|
||||||
MACHINE.env.push.apply(MACHINE.env, returnArgs.reverse());
|
MACHINE.env.push.apply(MACHINE.env, returnArgs.reverse());
|
||||||
return MACHINE.control.pop().label.mvr(MACHINE);
|
return MACHINE.control.pop().label.mvr(MACHINE);
|
||||||
|
@ -106,15 +106,15 @@
|
||||||
succ = succ || function () {};
|
succ = succ || function () {};
|
||||||
fail = fail || function () {};
|
fail = fail || function () {};
|
||||||
|
|
||||||
var oldArgcount = MACHINE.argcount, i;
|
var oldArgcount = MACHINE.a, i;
|
||||||
MACHINE.argcount = arguments.length - 2;
|
MACHINE.a = arguments.length - 2;
|
||||||
for (i = 0; i < arguments.length - 2; i++) {
|
for (i = 0; i < arguments.length - 2; i++) {
|
||||||
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(baselib.arity.isArityMatching(v.racketArity, MACHINE.argcount))) {
|
if (!(baselib.arity.isArityMatching(v.racketArity, MACHINE.a))) {
|
||||||
var msg = baselib.format.format("arity mismatch: ~s expected ~s arguments, but received ~s",
|
var msg = baselib.format.format("arity mismatch: ~s expected ~s arguments, but received ~s",
|
||||||
[v.displayName, v.racketArity, MACHINE.argcount]);
|
[v.displayName, v.racketArity, MACHINE.a]);
|
||||||
return fail(new baselib.exceptions.RacketError(
|
return fail(new baselib.exceptions.RacketError(
|
||||||
msg,
|
msg,
|
||||||
baselib.exceptions.makeExnFailContractArity(msg,
|
baselib.exceptions.makeExnFailContractArity(msg,
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var result = v(MACHINE);
|
var result = v(MACHINE);
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
for (i = 0; i < arguments.length - 2; i++) {
|
for (i = 0; i < arguments.length - 2; i++) {
|
||||||
MACHINE.env.pop();
|
MACHINE.env.pop();
|
||||||
}
|
}
|
||||||
|
@ -149,7 +149,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var oldVal = MACHINE.val;
|
var oldVal = MACHINE.val;
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
var oldProc = MACHINE.proc;
|
var oldProc = MACHINE.proc;
|
||||||
|
|
||||||
var oldErrorHandler = MACHINE.params['currentErrorHandler'];
|
var oldErrorHandler = MACHINE.params['currentErrorHandler'];
|
||||||
|
@ -159,7 +159,7 @@
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
var returnValue = MACHINE.val;
|
var returnValue = MACHINE.val;
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
succ(returnValue);
|
succ(returnValue);
|
||||||
});
|
});
|
||||||
|
@ -169,11 +169,11 @@
|
||||||
function (restart) {
|
function (restart) {
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
var returnValues = [MACHINE.val], i;
|
var returnValues = [MACHINE.val], i;
|
||||||
for (i = 0; i < MACHINE.argcount - 1; i++) {
|
for (i = 0; i < MACHINE.a - 1; i++) {
|
||||||
returnValues.push(MACHINE.env.pop());
|
returnValues.push(MACHINE.env.pop());
|
||||||
}
|
}
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
succ.apply(null, returnValues);
|
succ.apply(null, returnValues);
|
||||||
});
|
});
|
||||||
|
@ -181,7 +181,7 @@
|
||||||
|
|
||||||
MACHINE.control.push(
|
MACHINE.control.push(
|
||||||
new baselib.frames.CallFrame(afterGoodInvoke, v));
|
new baselib.frames.CallFrame(afterGoodInvoke, v));
|
||||||
MACHINE.argcount = arguments.length - 2;
|
MACHINE.a = arguments.length - 2;
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < arguments.length - 2; i++) {
|
for (i = 0; i < arguments.length - 2; i++) {
|
||||||
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
||||||
|
@ -190,7 +190,7 @@
|
||||||
MACHINE.params['currentErrorHandler'] = function (MACHINE, e) {
|
MACHINE.params['currentErrorHandler'] = function (MACHINE, e) {
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
fail(e);
|
fail(e);
|
||||||
};
|
};
|
||||||
|
@ -235,8 +235,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isPrimitiveProcedure(proc)) {
|
if (isPrimitiveProcedure(proc)) {
|
||||||
oldArgcount = MACHINE.argcount;
|
oldArgcount = MACHINE.a;
|
||||||
MACHINE.argcount = arguments.length - 4;
|
MACHINE.a = arguments.length - 4;
|
||||||
for (i = 0; i < arguments.length - 4; i++) {
|
for (i = 0; i < arguments.length - 4; i++) {
|
||||||
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
||||||
}
|
}
|
||||||
|
@ -247,7 +247,7 @@
|
||||||
success(result);
|
success(result);
|
||||||
} else if (isClosure(proc)) {
|
} else if (isClosure(proc)) {
|
||||||
oldVal = MACHINE.val;
|
oldVal = MACHINE.val;
|
||||||
oldArgcount = MACHINE.argcount;
|
oldArgcount = MACHINE.a;
|
||||||
oldProc = MACHINE.proc;
|
oldProc = MACHINE.proc;
|
||||||
|
|
||||||
oldErrorHandler = MACHINE.params['currentErrorHandler'];
|
oldErrorHandler = MACHINE.params['currentErrorHandler'];
|
||||||
|
@ -256,7 +256,7 @@
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
var returnValue = MACHINE.val;
|
var returnValue = MACHINE.val;
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
success(returnValue);
|
success(returnValue);
|
||||||
});
|
});
|
||||||
|
@ -266,11 +266,11 @@
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
var returnValues = [MACHINE.val];
|
var returnValues = [MACHINE.val];
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < MACHINE.argcount - 1; i++) {
|
for (i = 0; i < MACHINE.a - 1; i++) {
|
||||||
returnValues.push(MACHINE.env.pop());
|
returnValues.push(MACHINE.env.pop());
|
||||||
}
|
}
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
success.apply(null, returnValues);
|
success.apply(null, returnValues);
|
||||||
});
|
});
|
||||||
|
@ -278,7 +278,7 @@
|
||||||
|
|
||||||
MACHINE.control.push(
|
MACHINE.control.push(
|
||||||
new baselib.frames.CallFrame(afterGoodInvoke, proc));
|
new baselib.frames.CallFrame(afterGoodInvoke, proc));
|
||||||
MACHINE.argcount = arguments.length - 4;
|
MACHINE.a = arguments.length - 4;
|
||||||
for (i = 0; i < arguments.length - 4; i++) {
|
for (i = 0; i < arguments.length - 4; i++) {
|
||||||
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
MACHINE.env.push(arguments[arguments.length - 1 - i]);
|
||||||
}
|
}
|
||||||
|
@ -286,7 +286,7 @@
|
||||||
MACHINE.params['currentErrorHandler'] = function (MACHINE, e) {
|
MACHINE.params['currentErrorHandler'] = function (MACHINE, e) {
|
||||||
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
MACHINE.params['currentErrorHandler'] = oldErrorHandler;
|
||||||
MACHINE.val = oldVal;
|
MACHINE.val = oldVal;
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.proc = oldProc;
|
MACHINE.proc = oldProc;
|
||||||
fail(e);
|
fail(e);
|
||||||
};
|
};
|
||||||
|
@ -325,7 +325,7 @@
|
||||||
function(M) {
|
function(M) {
|
||||||
--M.cbt;
|
--M.cbt;
|
||||||
M.val = f(M);
|
M.val = f(M);
|
||||||
M.env.length -= M.argcount;
|
M.env.length -= M.a;
|
||||||
return M.control.pop().label(M);
|
return M.control.pop().label(M);
|
||||||
},
|
},
|
||||||
[]);
|
[]);
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
makeList(0, 1),
|
makeList(0, 1),
|
||||||
function(M) {
|
function(M) {
|
||||||
var baseName = "g";
|
var baseName = "g";
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
baseName = checkSymbolOrString(M, 'gensym', 0).toString();
|
baseName = checkSymbolOrString(M, 'gensym', 0).toString();
|
||||||
}
|
}
|
||||||
gensymCounter++;
|
gensymCounter++;
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var firstArg = M.env[M.env.length - 1];
|
var firstArg = M.env[M.env.length - 1];
|
||||||
var outputPort = M.params.currentOutputPort;
|
var outputPort = M.params.currentOutputPort;
|
||||||
if (M.argcount === 2) {
|
if (M.a === 2) {
|
||||||
outputPort = checkOutputPort(M, 'display', 1);
|
outputPort = checkOutputPort(M, 'display', 1);
|
||||||
}
|
}
|
||||||
outputPort.writeDomNode(M, toDomNode(firstArg, 'display'));
|
outputPort.writeDomNode(M, toDomNode(firstArg, 'display'));
|
||||||
|
@ -167,7 +167,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var firstArg = checkByte(M, 'write-byte', 0);
|
var firstArg = checkByte(M, 'write-byte', 0);
|
||||||
var outputPort = M.params.currentOutputPort;
|
var outputPort = M.params.currentOutputPort;
|
||||||
if (M.argcount === 2) {
|
if (M.a === 2) {
|
||||||
outputPort = checkOutputPort(M, 'display', 1);
|
outputPort = checkOutputPort(M, 'display', 1);
|
||||||
}
|
}
|
||||||
outputPort.writeDomNode(M, toDomNode(String.fromCharCode(firstArg), 'display'));
|
outputPort.writeDomNode(M, toDomNode(String.fromCharCode(firstArg), 'display'));
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
'newline', makeList(0, 1),
|
'newline', makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var outputPort = M.params.currentOutputPort;
|
var outputPort = M.params.currentOutputPort;
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
outputPort = checkOutputPort(M, 'newline', 1);
|
outputPort = checkOutputPort(M, 'newline', 1);
|
||||||
}
|
}
|
||||||
outputPort.writeDomNode(M, toDomNode("\n", 'display'));
|
outputPort.writeDomNode(M, toDomNode("\n", 'display'));
|
||||||
|
@ -192,7 +192,7 @@
|
||||||
function (M){
|
function (M){
|
||||||
var firstArg = M.env[M.env.length-1];
|
var firstArg = M.env[M.env.length-1];
|
||||||
var outputPort = M.params.currentOutputPort;
|
var outputPort = M.params.currentOutputPort;
|
||||||
if (M.argcount === 2) {
|
if (M.a === 2) {
|
||||||
outputPort = checkOutputPort(M, 'displayln', 1);
|
outputPort = checkOutputPort(M, 'displayln', 1);
|
||||||
}
|
}
|
||||||
outputPort.writeDomNode(M, toDomNode(firstArg, 'display'));
|
outputPort.writeDomNode(M, toDomNode(firstArg, 'display'));
|
||||||
|
@ -208,7 +208,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var args = [], i, formatString;
|
var args = [], i, formatString;
|
||||||
formatString = checkString(M, 'format', 0).toString();
|
formatString = checkString(M, 'format', 0).toString();
|
||||||
for(i = 1; i < M.argcount; i++) {
|
for(i = 1; i < M.a; i++) {
|
||||||
args.push(M.env[M.env.length - 1 - i]);
|
args.push(M.env[M.env.length - 1 - i]);
|
||||||
}
|
}
|
||||||
return baselib.format.format(formatString, args, 'format');
|
return baselib.format.format(formatString, args, 'format');
|
||||||
|
@ -221,7 +221,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var args = [], i, formatString, result, outputPort;
|
var args = [], i, formatString, result, outputPort;
|
||||||
formatString = checkString(M, 'printf', 0).toString();
|
formatString = checkString(M, 'printf', 0).toString();
|
||||||
for(i = 1; i < M.argcount; i++) {
|
for(i = 1; i < M.a; i++) {
|
||||||
args.push(M.env[M.env.length - 1 - i]);
|
args.push(M.env[M.env.length - 1 - i]);
|
||||||
}
|
}
|
||||||
result = baselib.format.format(formatString, args, 'format');
|
result = baselib.format.format(formatString, args, 'format');
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
var args = [], i, formatString, outputPort, result;
|
var args = [], i, formatString, outputPort, result;
|
||||||
outputPort = checkOutputPort(M, 'fprintf', 0);
|
outputPort = checkOutputPort(M, 'fprintf', 0);
|
||||||
formatString = checkString(M, 'fprintf', 1).toString();
|
formatString = checkString(M, 'fprintf', 1).toString();
|
||||||
for(i = 2; i < M.argcount; i++) {
|
for(i = 2; i < M.a; i++) {
|
||||||
args.push(M.env[M.env.length - 1 - i]);
|
args.push(M.env[M.env.length - 1 - i]);
|
||||||
}
|
}
|
||||||
result = baselib.format.format(formatString, args, 'format');
|
result = baselib.format.format(formatString, args, 'format');
|
||||||
|
@ -255,7 +255,7 @@
|
||||||
'current-print',
|
'current-print',
|
||||||
makeList(0, 1),
|
makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
M.params['currentPrint'] =
|
M.params['currentPrint'] =
|
||||||
checkProcedure(M, 'current-print', 0);
|
checkProcedure(M, 'current-print', 0);
|
||||||
return VOID;
|
return VOID;
|
||||||
|
@ -269,7 +269,7 @@
|
||||||
'current-output-port',
|
'current-output-port',
|
||||||
makeList(0, 1),
|
makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
M.params['currentOutputPort'] =
|
M.params['currentOutputPort'] =
|
||||||
checkOutputPort(M, 'current-output-port', 0);
|
checkOutputPort(M, 'current-output-port', 0);
|
||||||
return VOID;
|
return VOID;
|
||||||
|
@ -284,7 +284,7 @@
|
||||||
'current-error-port',
|
'current-error-port',
|
||||||
makeList(0, 1),
|
makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
M.params['currentErrorPort'] =
|
M.params['currentErrorPort'] =
|
||||||
checkOutputPort(M, 'current-output-port', 0);
|
checkOutputPort(M, 'current-output-port', 0);
|
||||||
return VOID;
|
return VOID;
|
||||||
|
@ -305,7 +305,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var i;
|
var i;
|
||||||
var firstArg = checkNumber(M, '=', 0), secondArg;
|
var firstArg = checkNumber(M, '=', 0), secondArg;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
secondArg = checkNumber(M, '=', i);
|
secondArg = checkNumber(M, '=', i);
|
||||||
if (! (baselib.numbers.equals(firstArg, secondArg))) {
|
if (! (baselib.numbers.equals(firstArg, secondArg))) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
var makeChainingBinop = function (predicate, name) {
|
var makeChainingBinop = function (predicate, name) {
|
||||||
return function (M) {
|
return function (M) {
|
||||||
var firstArg = checkNumber(M, name, 0), secondArg, i;
|
var firstArg = checkNumber(M, name, 0), secondArg, i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
secondArg = checkNumber(M, name, i);
|
secondArg = checkNumber(M, name, i);
|
||||||
if (! (predicate(firstArg, secondArg))) {
|
if (! (predicate(firstArg, secondArg))) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -374,7 +374,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var result = 0;
|
var result = 0;
|
||||||
var i = 0;
|
var i = 0;
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
result = baselib.numbers.add(
|
result = baselib.numbers.add(
|
||||||
result,
|
result,
|
||||||
checkNumber(M, '+', i));
|
checkNumber(M, '+', i));
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var result = 1;
|
var result = 1;
|
||||||
var i = 0;
|
var i = 0;
|
||||||
for (i=0; i < M.argcount; i++) {
|
for (i=0; i < M.a; i++) {
|
||||||
result = baselib.numbers.multiply(
|
result = baselib.numbers.multiply(
|
||||||
result,
|
result,
|
||||||
checkNumber(M, '*', i));
|
checkNumber(M, '*', i));
|
||||||
|
@ -401,13 +401,13 @@
|
||||||
'-',
|
'-',
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
return baselib.numbers.subtract(
|
return baselib.numbers.subtract(
|
||||||
0,
|
0,
|
||||||
checkNumber(M, '-', 0));
|
checkNumber(M, '-', 0));
|
||||||
}
|
}
|
||||||
var result = checkNumber(M, '-', 0), i;
|
var result = checkNumber(M, '-', 0), i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
result = baselib.numbers.subtract(
|
result = baselib.numbers.subtract(
|
||||||
result,
|
result,
|
||||||
checkNumber(M, '-', i));
|
checkNumber(M, '-', i));
|
||||||
|
@ -420,7 +420,7 @@
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var result = checkNumber(M, '/', 0), i;
|
var result = checkNumber(M, '/', 0), i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
result = baselib.numbers.divide(
|
result = baselib.numbers.divide(
|
||||||
result,
|
result,
|
||||||
checkNumber(M, '/', i));
|
checkNumber(M, '/', i));
|
||||||
|
@ -471,8 +471,8 @@
|
||||||
baselib.arity.makeArityAtLeast(0),
|
baselib.arity.makeArityAtLeast(0),
|
||||||
function (M) {
|
function (M) {
|
||||||
var result = NULL, i;
|
var result = NULL, i;
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
result = makePair(M.env[M.env.length - (M.argcount - i)],
|
result = makePair(M.env[M.env.length - (M.a - i)],
|
||||||
result);
|
result);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
@ -482,8 +482,8 @@
|
||||||
'list*',
|
'list*',
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var result = checkList(M, 'list*', M.argcount - 1), i;
|
var result = checkList(M, 'list*', M.a - 1), i;
|
||||||
for (i = M.argcount - 2; i >= 0; i--) {
|
for (i = M.a - 2; i >= 0; i--) {
|
||||||
result = makePair(M.env[M.env.length - 1 - i],
|
result = makePair(M.env[M.env.length - 1 - i],
|
||||||
result);
|
result);
|
||||||
}
|
}
|
||||||
|
@ -583,7 +583,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var i;
|
var i;
|
||||||
var result = [];
|
var result = [];
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
result.push(M.env[M.env.length-1-i]);
|
result.push(M.env[M.env.length-1-i]);
|
||||||
}
|
}
|
||||||
var newVector = makeVector(result.length, result);
|
var newVector = makeVector(result.length, result);
|
||||||
|
@ -598,7 +598,7 @@
|
||||||
var value = 0;
|
var value = 0;
|
||||||
var length = baselib.numbers.toFixnum(
|
var length = baselib.numbers.toFixnum(
|
||||||
checkNatural(M, 'make-vector', 0));
|
checkNatural(M, 'make-vector', 0));
|
||||||
if (M.argcount === 2) {
|
if (M.a === 2) {
|
||||||
value = M.env[M.env.length - 2];
|
value = M.env[M.env.length - 2];
|
||||||
}
|
}
|
||||||
var arr = [];
|
var arr = [];
|
||||||
|
@ -679,7 +679,7 @@
|
||||||
var value = String.fromCharCode(0);
|
var value = String.fromCharCode(0);
|
||||||
var length = baselib.numbers.toFixnum(
|
var length = baselib.numbers.toFixnum(
|
||||||
checkNatural(M, 'make-string', 0));
|
checkNatural(M, 'make-string', 0));
|
||||||
if (M.argcount === 2) {
|
if (M.a === 2) {
|
||||||
value = checkChar(M, 'make-string', 1).val;
|
value = checkChar(M, 'make-string', 1).val;
|
||||||
}
|
}
|
||||||
var arr = [];
|
var arr = [];
|
||||||
|
@ -697,7 +697,7 @@
|
||||||
var str = String(checkString(M, 'substring', 0));
|
var str = String(checkString(M, 'substring', 0));
|
||||||
var start = baselib.numbers.toFixnum(checkNatural(M, 'substring', 1));
|
var start = baselib.numbers.toFixnum(checkNatural(M, 'substring', 1));
|
||||||
var end = str.length;
|
var end = str.length;
|
||||||
if (M.argcount === 3) {
|
if (M.a === 3) {
|
||||||
end = baselib.numbers.toFixnum(checkNatural(M, 'substring', 2));
|
end = baselib.numbers.toFixnum(checkNatural(M, 'substring', 2));
|
||||||
}
|
}
|
||||||
return str.substring(start, end);
|
return str.substring(start, end);
|
||||||
|
@ -724,7 +724,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var i;
|
var i;
|
||||||
var chars = [];
|
var chars = [];
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
chars.push(checkChar(M, 'string', i).val);
|
chars.push(checkChar(M, 'string', i).val);
|
||||||
}
|
}
|
||||||
return chars.join('');
|
return chars.join('');
|
||||||
|
@ -784,7 +784,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string=?', 0).toString();
|
var s = checkString(M, 'string=?', 0).toString();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if (s !== checkString(M, 'string=?', i).toString()) {
|
if (s !== checkString(M, 'string=?', i).toString()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -799,7 +799,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string<=?', 0).toString();
|
var s = checkString(M, 'string<=?', 0).toString();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s <= checkString(M, 'string<=?', i).toString()) === false) {
|
if ((s <= checkString(M, 'string<=?', i).toString()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -813,7 +813,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string<?', 0).toString();
|
var s = checkString(M, 'string<?', 0).toString();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s < checkString(M, 'string<?', i).toString()) === false) {
|
if ((s < checkString(M, 'string<?', i).toString()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -827,7 +827,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string>=?', 0).toString();
|
var s = checkString(M, 'string>=?', 0).toString();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s >= checkString(M, 'string>=?', i).toString()) === false) {
|
if ((s >= checkString(M, 'string>=?', i).toString()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -841,7 +841,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string>?', 0).toString();
|
var s = checkString(M, 'string>?', 0).toString();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s > checkString(M, 'string>?', i).toString()) === false) {
|
if ((s > checkString(M, 'string>?', i).toString()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -872,7 +872,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string-ci=?', 0).toString().toUpperCase();
|
var s = checkString(M, 'string-ci=?', 0).toString().toUpperCase();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if (s !== checkString(M, 'string-ci=?', i).toString().toUpperCase()) {
|
if (s !== checkString(M, 'string-ci=?', i).toString().toUpperCase()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -887,7 +887,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string-ci<=?', 0).toString().toUpperCase();
|
var s = checkString(M, 'string-ci<=?', 0).toString().toUpperCase();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s <= checkString(M, 'string-ci<=?', i).toString().toUpperCase()) === false) {
|
if ((s <= checkString(M, 'string-ci<=?', i).toString().toUpperCase()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -901,7 +901,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string-ci<?', 0).toString().toUpperCase();
|
var s = checkString(M, 'string-ci<?', 0).toString().toUpperCase();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s < checkString(M, 'string-ci<?', i).toString().toUpperCase()) === false) {
|
if ((s < checkString(M, 'string-ci<?', i).toString().toUpperCase()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -915,7 +915,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string-ci>=?', 0).toString().toUpperCase();
|
var s = checkString(M, 'string-ci>=?', 0).toString().toUpperCase();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s >= checkString(M, 'string-ci>=?', i).toString().toUpperCase()) === false) {
|
if ((s >= checkString(M, 'string-ci>=?', i).toString().toUpperCase()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -929,7 +929,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var s = checkString(M, 'string-ci>?', 0).toString().toUpperCase();
|
var s = checkString(M, 'string-ci>?', 0).toString().toUpperCase();
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if ((s > checkString(M, 'string-ci>?', i).toString().toUpperCase()) === false) {
|
if ((s > checkString(M, 'string-ci>?', i).toString().toUpperCase()) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -947,7 +947,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var buffer = [];
|
var buffer = [];
|
||||||
var i;
|
var i;
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
buffer.push(checkString(M, 'string-append', i).toString());
|
buffer.push(checkString(M, 'string-append', i).toString());
|
||||||
}
|
}
|
||||||
return buffer.join('');
|
return buffer.join('');
|
||||||
|
@ -1031,7 +1031,7 @@
|
||||||
function(M) {
|
function(M) {
|
||||||
var s = checkChar(M, 'char=?', 0).val;
|
var s = checkChar(M, 'char=?', 0).val;
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
if (checkChar(M, 'char=?', i).val !== s) {
|
if (checkChar(M, 'char=?', i).val !== s) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1098,7 +1098,7 @@
|
||||||
'random',
|
'random',
|
||||||
baselib.lists.makeList(0, 1),
|
baselib.lists.makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 0) {
|
if (M.a === 0) {
|
||||||
return makeFloat(Math.random());
|
return makeFloat(Math.random());
|
||||||
} else {
|
} else {
|
||||||
var n = checkNatural(M, 'random', 0);
|
var n = checkNatural(M, 'random', 0);
|
||||||
|
@ -1146,10 +1146,10 @@
|
||||||
}
|
}
|
||||||
var proc = checkProcedure(M, 'apply', 0);
|
var proc = checkProcedure(M, 'apply', 0);
|
||||||
M.env.pop();
|
M.env.pop();
|
||||||
M.argcount--;
|
M.a--;
|
||||||
checkList(M, 'apply', M.argcount - 1);
|
checkList(M, 'apply', M.a - 1);
|
||||||
M.spliceListIntoStack(M.argcount - 1);
|
M.spliceListIntoStack(M.a - 1);
|
||||||
if (baselib.arity.isArityMatching(proc.racketArity, M.argcount)) {
|
if (baselib.arity.isArityMatching(proc.racketArity, M.a)) {
|
||||||
M.proc = proc;
|
M.proc = proc;
|
||||||
if (baselib.functions.isPrimitiveProcedure(proc)) {
|
if (baselib.functions.isPrimitiveProcedure(proc)) {
|
||||||
return finalizeClosureCall(M, proc(M));
|
return finalizeClosureCall(M, proc(M));
|
||||||
|
@ -1157,7 +1157,7 @@
|
||||||
return proc.label(M);
|
return proc.label(M);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
raiseArityMismatchError(M, proc, M.argcount);
|
raiseArityMismatchError(M, proc, M.a);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
installPrimitiveClosure(
|
installPrimitiveClosure(
|
||||||
|
@ -1186,8 +1186,8 @@
|
||||||
2,
|
2,
|
||||||
function (M) {
|
function (M) {
|
||||||
var proc = checkProcedure(M, 'procedure-arity-includes?', 0);
|
var proc = checkProcedure(M, 'procedure-arity-includes?', 0);
|
||||||
var argcount = checkNatural(M, 'procedure-arity-includes?', 1);
|
var a = checkNatural(M, 'procedure-arity-includes?', 1);
|
||||||
return baselib.arity.isArityMatching(proc.racketArity, argcount);
|
return baselib.arity.isArityMatching(proc.racketArity, a);
|
||||||
});
|
});
|
||||||
|
|
||||||
installPrimitiveProcedure(
|
installPrimitiveProcedure(
|
||||||
|
@ -1376,7 +1376,7 @@
|
||||||
'atan',
|
'atan',
|
||||||
makeList(1, 2),
|
makeList(1, 2),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
return baselib.numbers.atan(
|
return baselib.numbers.atan(
|
||||||
checkNumber(M, 'atan', 0));
|
checkNumber(M, 'atan', 0));
|
||||||
} else {
|
} else {
|
||||||
|
@ -1437,7 +1437,7 @@
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var args = [], i, x;
|
var args = [], i, x;
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
args.push(checkNumber(M, 'gcd', i));
|
args.push(checkNumber(M, 'gcd', i));
|
||||||
}
|
}
|
||||||
x = args.shift();
|
x = args.shift();
|
||||||
|
@ -1449,7 +1449,7 @@
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var args = [], i, x;
|
var args = [], i, x;
|
||||||
for (i = 0; i < M.argcount; i++) {
|
for (i = 0; i < M.a; i++) {
|
||||||
args.push(checkNumber(M, 'lcm', i));
|
args.push(checkNumber(M, 'lcm', i));
|
||||||
}
|
}
|
||||||
x = args.shift();
|
x = args.shift();
|
||||||
|
@ -1685,7 +1685,7 @@
|
||||||
var i;
|
var i;
|
||||||
var next;
|
var next;
|
||||||
var currentMin = checkReal(M, 'min', 0);
|
var currentMin = checkReal(M, 'min', 0);
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
next = checkReal(M, 'min', i);
|
next = checkReal(M, 'min', i);
|
||||||
if (baselib.numbers.lessThan(next, currentMin)) {
|
if (baselib.numbers.lessThan(next, currentMin)) {
|
||||||
currentMin = next;
|
currentMin = next;
|
||||||
|
@ -1701,7 +1701,7 @@
|
||||||
var i;
|
var i;
|
||||||
var next;
|
var next;
|
||||||
var currentMax = checkReal(M, 'min', 0);
|
var currentMax = checkReal(M, 'min', 0);
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
next = checkReal(M, 'min', i);
|
next = checkReal(M, 'min', i);
|
||||||
if (baselib.numbers.greaterThan(next, currentMax)) {
|
if (baselib.numbers.greaterThan(next, currentMax)) {
|
||||||
currentMax = next;
|
currentMax = next;
|
||||||
|
@ -1720,7 +1720,7 @@
|
||||||
baselib.arity.makeArityAtLeast(1),
|
baselib.arity.makeArityAtLeast(1),
|
||||||
function (M) {
|
function (M) {
|
||||||
var i;
|
var i;
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
var sym = checkSymbol(M, 'error', 1);
|
var sym = checkSymbol(M, 'error', 1);
|
||||||
raise(M, baselib.exceptions.makeExnFail(String(sym),
|
raise(M, baselib.exceptions.makeExnFail(String(sym),
|
||||||
M.captureContinuationMarks()));
|
M.captureContinuationMarks()));
|
||||||
|
@ -1728,7 +1728,7 @@
|
||||||
|
|
||||||
if (isString(M.env[M.env.length - 1])) {
|
if (isString(M.env[M.env.length - 1])) {
|
||||||
var vs = [];
|
var vs = [];
|
||||||
for (i = 1; i < M.argcount; i++) {
|
for (i = 1; i < M.a; i++) {
|
||||||
vs.push(baselib.format.format("~e", [M.env[M.env.length - 1 - i]]));
|
vs.push(baselib.format.format("~e", [M.env[M.env.length - 1 - i]]));
|
||||||
}
|
}
|
||||||
raise(M, baselib.exceptions.makeExnFail(String(M.env[M.env.length - 1]) +
|
raise(M, baselib.exceptions.makeExnFail(String(M.env[M.env.length - 1]) +
|
||||||
|
@ -1740,7 +1740,7 @@
|
||||||
if (isSymbol(M.env[M.env.length - 1])) {
|
if (isSymbol(M.env[M.env.length - 1])) {
|
||||||
var fmtString = checkString(M, 'error', 1);
|
var fmtString = checkString(M, 'error', 1);
|
||||||
var args = [M.env[M.env.length - 1]];
|
var args = [M.env[M.env.length - 1]];
|
||||||
for (i = 2; i < M.argcount; i++) {
|
for (i = 2; i < M.a; i++) {
|
||||||
args.push(M.env[M.env.length - 1 - i]);
|
args.push(M.env[M.env.length - 1 - i]);
|
||||||
}
|
}
|
||||||
raise(M, baselib.exceptions.makeExnFail(
|
raise(M, baselib.exceptions.makeExnFail(
|
||||||
|
@ -1776,7 +1776,7 @@
|
||||||
function (M) {
|
function (M) {
|
||||||
var name = checkSymbol(M, 'raise-type-error', 0);
|
var name = checkSymbol(M, 'raise-type-error', 0);
|
||||||
var expected = checkString(M, 'raise-type-error', 1);
|
var expected = checkString(M, 'raise-type-error', 1);
|
||||||
if (M.argcount === 3) {
|
if (M.a === 3) {
|
||||||
raiseArgumentTypeError(M,
|
raiseArgumentTypeError(M,
|
||||||
name,
|
name,
|
||||||
expected,
|
expected,
|
||||||
|
@ -1894,7 +1894,7 @@
|
||||||
'current-inspector',
|
'current-inspector',
|
||||||
makeList(0, 1),
|
makeList(0, 1),
|
||||||
function (M) {
|
function (M) {
|
||||||
if (M.argcount === 1) {
|
if (M.a === 1) {
|
||||||
M.params['currentInspector'] =
|
M.params['currentInspector'] =
|
||||||
checkInspector(M, 'current-inspector', 0);
|
checkInspector(M, 'current-inspector', 0);
|
||||||
return VOID;
|
return VOID;
|
||||||
|
@ -1912,7 +1912,7 @@
|
||||||
var structType = M.env[M.env.length - 1].structType;
|
var structType = M.env[M.env.length - 1].structType;
|
||||||
var index = M.env[M.env.length - 2];
|
var index = M.env[M.env.length - 2];
|
||||||
var name;
|
var name;
|
||||||
if (M.argcount === 3) {
|
if (M.a === 3) {
|
||||||
name = String(M.env[M.env.length - 3]);
|
name = String(M.env[M.env.length - 3]);
|
||||||
} else {
|
} else {
|
||||||
name = 'field' + index;
|
name = 'field' + index;
|
||||||
|
@ -1939,7 +1939,7 @@
|
||||||
var structType = M.env[M.env.length - 1].structType;
|
var structType = M.env[M.env.length - 1].structType;
|
||||||
var index = M.env[M.env.length - 2];
|
var index = M.env[M.env.length - 2];
|
||||||
var name;
|
var name;
|
||||||
if (M.argcount === 3) {
|
if (M.a === 3) {
|
||||||
name = String(M.env[M.env.length - 3]);
|
name = String(M.env[M.env.length - 3]);
|
||||||
} else {
|
} else {
|
||||||
name = 'field' + index;
|
name = 'field' + index;
|
||||||
|
|
|
@ -46,16 +46,16 @@ if (!(this.plt)) { this.plt = {}; }
|
||||||
|
|
||||||
// Helper to deal with the argument-passing of primitives. Call f
|
// Helper to deal with the argument-passing of primitives. Call f
|
||||||
// with arguments bound from MACHINE.env, assuming
|
// with arguments bound from MACHINE.env, assuming
|
||||||
// MACHINE.argcount has been initialized with the number of
|
// MACHINE.a has been initialized with the number of
|
||||||
// arguments on the stack. vs provides optional values for the
|
// arguments on the stack. vs provides optional values for the
|
||||||
// arguments that go beyond those of the mandatoryArgCount.
|
// arguments that go beyond those of the mandatoryArgCount.
|
||||||
var withArguments = function (MACHINE, mandatoryArgCount, vs, f) {
|
var withArguments = function (MACHINE, mandatoryArgCount, vs, f) {
|
||||||
var args = [], i;
|
var args = [], i;
|
||||||
for (i = 0; i < MACHINE.argcount; i++) {
|
for (i = 0; i < MACHINE.a; i++) {
|
||||||
if (i < mandatoryArgCount) {
|
if (i < mandatoryArgCount) {
|
||||||
args.push(MACHINE.env[MACHINE.env.length - 1 - i]);
|
args.push(MACHINE.env[MACHINE.env.length - 1 - i]);
|
||||||
} else {
|
} else {
|
||||||
if (i < MACHINE.argcount) {
|
if (i < MACHINE.a) {
|
||||||
args.push(MACHINE.env[MACHINE.env.length - 1 - i]);
|
args.push(MACHINE.env[MACHINE.env.length - 1 - i]);
|
||||||
} else {
|
} else {
|
||||||
args.push(vs[mandatoryArgCount - i]);
|
args.push(vs[mandatoryArgCount - i]);
|
||||||
|
|
|
@ -189,7 +189,7 @@
|
||||||
if(--MACHINE.cbt < 0) {
|
if(--MACHINE.cbt < 0) {
|
||||||
throw defaultCurrentPrintImplementation;
|
throw defaultCurrentPrintImplementation;
|
||||||
}
|
}
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
|
|
||||||
var elt = MACHINE.env[MACHINE.env.length - 1];
|
var elt = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var outputPort =
|
var outputPort =
|
||||||
|
@ -198,7 +198,7 @@
|
||||||
outputPort.writeDomNode(MACHINE, toDomNode(elt, 'print'));
|
outputPort.writeDomNode(MACHINE, toDomNode(elt, 'print'));
|
||||||
outputPort.writeDomNode(MACHINE, toDomNode("\n", 'display'));
|
outputPort.writeDomNode(MACHINE, toDomNode("\n", 'display'));
|
||||||
}
|
}
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
return finalizeClosureCall(MACHINE, VOID);
|
return finalizeClosureCall(MACHINE, VOID);
|
||||||
};
|
};
|
||||||
var defaultCurrentPrint = makeClosure(
|
var defaultCurrentPrint = makeClosure(
|
||||||
|
@ -214,7 +214,7 @@
|
||||||
this.cbt = STACK_LIMIT_ESTIMATE; // calls before trampoline
|
this.cbt = STACK_LIMIT_ESTIMATE; // calls before trampoline
|
||||||
this.val = undefined; // value register
|
this.val = undefined; // value register
|
||||||
this.proc = undefined; // procedure register
|
this.proc = undefined; // procedure register
|
||||||
this.argcount = undefined; // argument count
|
this.a = undefined; // argument count
|
||||||
this.env = []; // environment
|
this.env = []; // environment
|
||||||
this.control = []; // control: Arrayof (U Frame CallFrame PromptFrame)
|
this.control = []; // control: Arrayof (U Frame CallFrame PromptFrame)
|
||||||
this.running = false;
|
this.running = false;
|
||||||
|
@ -324,7 +324,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Splices the list argument in the environment. Adjusts MACHINE.argcount
|
// Splices the list argument in the environment. Adjusts MACHINE.a
|
||||||
// appropriately.
|
// appropriately.
|
||||||
Machine.prototype.spliceListIntoStack = function(depth) {
|
Machine.prototype.spliceListIntoStack = function(depth) {
|
||||||
var MACHINE = this;
|
var MACHINE = this;
|
||||||
|
@ -337,7 +337,7 @@
|
||||||
vals.reverse();
|
vals.reverse();
|
||||||
MACHINE.env.splice.apply(MACHINE.env,
|
MACHINE.env.splice.apply(MACHINE.env,
|
||||||
[MACHINE.env.length - 1 - depth, 1].concat(vals));
|
[MACHINE.env.length - 1 - depth, 1].concat(vals));
|
||||||
MACHINE.argcount = MACHINE.argcount + vals.length - 1;
|
MACHINE.a = MACHINE.a + vals.length - 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -353,7 +353,7 @@
|
||||||
MACHINE.env.splice(MACHINE.env.length - depth - length,
|
MACHINE.env.splice(MACHINE.env.length - depth - length,
|
||||||
length,
|
length,
|
||||||
lst);
|
lst);
|
||||||
MACHINE.argcount = MACHINE.argcount - length + 1;
|
MACHINE.a = MACHINE.a - length + 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ EXPORTS['call-method'] =
|
||||||
var obj = MACHINE.env[MACHINE.env.length - 1];
|
var obj = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var methodName = MACHINE.env[MACHINE.env.length - 2];
|
var methodName = MACHINE.env[MACHINE.env.length - 2];
|
||||||
var args = [];
|
var args = [];
|
||||||
for (var i = 0; i < MACHINE.argcount - 2; i++) {
|
for (var i = 0; i < MACHINE.a - 2; i++) {
|
||||||
args.push(MACHINE.env[MACHINE.env.length -1 - 2 - i]);
|
args.push(MACHINE.env[MACHINE.env.length -1 - 2 - i]);
|
||||||
}
|
}
|
||||||
var result = obj[methodName].apply(obj, args);
|
var result = obj[methodName].apply(obj, args);
|
||||||
|
|
|
@ -71,7 +71,7 @@ EXPORTS['specialize!'] = makeClosure(
|
||||||
1,
|
1,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var resource = checkResource(MACHINE, 'specialize!', 0);
|
var resource = checkResource(MACHINE, 'specialize!', 0);
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
if (isImagePath(getResourceKey(resource).toString())) {
|
if (isImagePath(getResourceKey(resource).toString())) {
|
||||||
return PAUSE(
|
return PAUSE(
|
||||||
function(restart) {
|
function(restart) {
|
||||||
|
@ -81,7 +81,7 @@ EXPORTS['specialize!'] = makeClosure(
|
||||||
delete(rawImage.onerror);
|
delete(rawImage.onerror);
|
||||||
injectImageMethods(resource, rawImage);
|
injectImageMethods(resource, rawImage);
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
return finalizeClosureCall(MACHINE, resource);
|
return finalizeClosureCall(MACHINE, resource);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -91,7 +91,7 @@ EXPORTS['specialize!'] = makeClosure(
|
||||||
// on any kind of image-loading error, fail out and
|
// on any kind of image-loading error, fail out and
|
||||||
// just return the resource unchanged.
|
// just return the resource unchanged.
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
return finalizeClosureCall(MACHINE, resource);
|
return finalizeClosureCall(MACHINE, resource);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1076,7 +1076,7 @@
|
||||||
|
|
||||||
// bigBang.
|
// bigBang.
|
||||||
var bigBang = function(MACHINE, world, handlers) {
|
var bigBang = function(MACHINE, world, handlers) {
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
var oldCurrentBigBangRecord = currentBigBangRecord;
|
var oldCurrentBigBangRecord = currentBigBangRecord;
|
||||||
|
|
||||||
var running = true;
|
var running = true;
|
||||||
|
@ -1110,7 +1110,7 @@
|
||||||
running = false;
|
running = false;
|
||||||
stopEventHandlers();
|
stopEventHandlers();
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
MACHINE.params.currentOutputPort = oldOutputPort;
|
MACHINE.params.currentOutputPort = oldOutputPort;
|
||||||
currentBigBangRecord = oldCurrentBigBangRecord;
|
currentBigBangRecord = oldCurrentBigBangRecord;
|
||||||
finalizeClosureCall(MACHINE, world);
|
finalizeClosureCall(MACHINE, world);
|
||||||
|
@ -1524,7 +1524,7 @@
|
||||||
var world = MACHINE.env[MACHINE.env.length - 1];
|
var world = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var handlers = [];
|
var handlers = [];
|
||||||
var i;
|
var i;
|
||||||
for (i = 1; i < MACHINE.argcount; i++) {
|
for (i = 1; i < MACHINE.a; i++) {
|
||||||
handlers.push(checkWorldHandler(MACHINE, 'big-bang', i));
|
handlers.push(checkWorldHandler(MACHINE, 'big-bang', i));
|
||||||
}
|
}
|
||||||
return bigBang(MACHINE, world, handlers);
|
return bigBang(MACHINE, world, handlers);
|
||||||
|
@ -1536,12 +1536,12 @@
|
||||||
1,
|
1,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var viewable = MACHINE.env[MACHINE.env.length - 1];
|
var viewable = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
PAUSE(function(restart) {
|
PAUSE(function(restart) {
|
||||||
coerseToView(viewable,
|
coerseToView(viewable,
|
||||||
function(v) {
|
function(v) {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
finalizeClosureCall(MACHINE,
|
finalizeClosureCall(MACHINE,
|
||||||
new InitialViewHandler(v));
|
new InitialViewHandler(v));
|
||||||
});
|
});
|
||||||
|
@ -1564,12 +1564,12 @@
|
||||||
1,
|
1,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var viewable = MACHINE.env[MACHINE.env.length - 1];
|
var viewable = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
PAUSE(function(restart) {
|
PAUSE(function(restart) {
|
||||||
coerseToMockView(viewable,
|
coerseToMockView(viewable,
|
||||||
function(v) {
|
function(v) {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
finalizeClosureCall(MACHINE, v);
|
finalizeClosureCall(MACHINE, v);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1615,7 +1615,7 @@
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var onTick = wrapFunction(checkProcedure(MACHINE, 'on-tick', 0));
|
var onTick = wrapFunction(checkProcedure(MACHINE, 'on-tick', 0));
|
||||||
var delay = Math.floor(1000/28);
|
var delay = Math.floor(1000/28);
|
||||||
if (MACHINE.argcount === 2) {
|
if (MACHINE.a === 2) {
|
||||||
delay = Math.floor(plt.baselib.numbers.toFixnum(checkReal(MACHINE, 'on-tick', 1)) * 1000);
|
delay = Math.floor(plt.baselib.numbers.toFixnum(checkReal(MACHINE, 'on-tick', 1)) * 1000);
|
||||||
}
|
}
|
||||||
return new EventHandler('on-tick',
|
return new EventHandler('on-tick',
|
||||||
|
@ -1890,13 +1890,13 @@
|
||||||
2,
|
2,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var view = checkMockView(MACHINE, 'view-append-child', 0);
|
var view = checkMockView(MACHINE, 'view-append-child', 0);
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
var x = MACHINE.env[MACHINE.env.length - 2];
|
var x = MACHINE.env[MACHINE.env.length - 2];
|
||||||
PAUSE(function(restart) {
|
PAUSE(function(restart) {
|
||||||
coerseToDomNode(x,
|
coerseToDomNode(x,
|
||||||
function(dom) {
|
function(dom) {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
var updatedView = view.appendChild(dom);
|
var updatedView = view.appendChild(dom);
|
||||||
finalizeClosureCall(MACHINE, updatedView);
|
finalizeClosureCall(MACHINE, updatedView);
|
||||||
});
|
});
|
||||||
|
@ -1920,13 +1920,13 @@
|
||||||
2,
|
2,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var view = checkMockView(MACHINE, 'view-insert-right', 0);
|
var view = checkMockView(MACHINE, 'view-insert-right', 0);
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
var x = MACHINE.env[MACHINE.env.length - 2];
|
var x = MACHINE.env[MACHINE.env.length - 2];
|
||||||
PAUSE(function(restart) {
|
PAUSE(function(restart) {
|
||||||
coerseToDomNode(x,
|
coerseToDomNode(x,
|
||||||
function(dom) {
|
function(dom) {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
var updatedView = view.insertRight(dom);
|
var updatedView = view.insertRight(dom);
|
||||||
finalizeClosureCall(MACHINE, updatedView);
|
finalizeClosureCall(MACHINE, updatedView);
|
||||||
});
|
});
|
||||||
|
@ -1952,13 +1952,13 @@
|
||||||
2,
|
2,
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var view = checkMockView(MACHINE, 'view-insert-left', 0);
|
var view = checkMockView(MACHINE, 'view-insert-left', 0);
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
var x = MACHINE.env[MACHINE.env.length - 2];
|
var x = MACHINE.env[MACHINE.env.length - 2];
|
||||||
PAUSE(function(restart) {
|
PAUSE(function(restart) {
|
||||||
coerseToDomNode(x,
|
coerseToDomNode(x,
|
||||||
function(dom) {
|
function(dom) {
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
var updatedView = view.insertLeft(dom);
|
var updatedView = view.insertLeft(dom);
|
||||||
finalizeClosureCall(MACHINE, updatedView);
|
finalizeClosureCall(MACHINE, updatedView);
|
||||||
});
|
});
|
||||||
|
|
|
@ -41,7 +41,7 @@ EXPORTS['big-bang'] =
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
var initialWorldValue = MACHINE.env[MACHINE.env.length - 1];
|
var initialWorldValue = MACHINE.env[MACHINE.env.length - 1];
|
||||||
var handlers = [];
|
var handlers = [];
|
||||||
for (var i = 1; i < MACHINE.argcount; i++) {
|
for (var i = 1; i < MACHINE.a; i++) {
|
||||||
handlers.push(checkHandler(MACHINE, 'big-bang', i));
|
handlers.push(checkHandler(MACHINE, 'big-bang', i));
|
||||||
}
|
}
|
||||||
bigBang(MACHINE, initialWorldValue, handlers);
|
bigBang(MACHINE, initialWorldValue, handlers);
|
||||||
|
@ -54,10 +54,10 @@ EXPORTS['on-tick'] =
|
||||||
'on-tick',
|
'on-tick',
|
||||||
plt.baselib.lists.makeList(1, 2),
|
plt.baselib.lists.makeList(1, 2),
|
||||||
function(MACHINE) {
|
function(MACHINE) {
|
||||||
if (MACHINE.argcount === 1) {
|
if (MACHINE.a === 1) {
|
||||||
var f = checkProcedure1(MACHINE, "on-tick", 0);
|
var f = checkProcedure1(MACHINE, "on-tick", 0);
|
||||||
return new OnTick(f, Math.floor(DEFAULT_TICK_DELAY * 1000));
|
return new OnTick(f, Math.floor(DEFAULT_TICK_DELAY * 1000));
|
||||||
} else if (MACHINE.argcount === 2) {
|
} else if (MACHINE.a === 2) {
|
||||||
var f = checkProcedure1(MACHINE, "on-tick", 0);
|
var f = checkProcedure1(MACHINE, "on-tick", 0);
|
||||||
var delay = checkNonNegativeReal(MACHINE, "on-tick", 1);
|
var delay = checkNonNegativeReal(MACHINE, "on-tick", 1);
|
||||||
return new OnTick(f, Math.floor(jsnums.toFixnum(delay) * 1000));
|
return new OnTick(f, Math.floor(jsnums.toFixnum(delay) * 1000));
|
||||||
|
|
|
@ -25,7 +25,7 @@ var finalizeClosureCall = plt.baselib.functions.finalizeClosureCall;
|
||||||
|
|
||||||
var bigBang = function(MACHINE, initW, handlers) {
|
var bigBang = function(MACHINE, initW, handlers) {
|
||||||
|
|
||||||
var oldArgcount = MACHINE.argcount;
|
var oldArgcount = MACHINE.a;
|
||||||
|
|
||||||
var outerToplevelNode = $('<span/>').css('padding', '0px').get(0);
|
var outerToplevelNode = $('<span/>').css('padding', '0px').get(0);
|
||||||
MACHINE.params.currentOutputPort.writeDomNode(MACHINE, outerToplevelNode);
|
MACHINE.params.currentOutputPort.writeDomNode(MACHINE, outerToplevelNode);
|
||||||
|
@ -67,7 +67,7 @@ var bigBang = function(MACHINE, initW, handlers) {
|
||||||
|
|
||||||
|
|
||||||
restart(function(MACHINE) {
|
restart(function(MACHINE) {
|
||||||
MACHINE.argcount = oldArgcount;
|
MACHINE.a = oldArgcount;
|
||||||
finalizeClosureCall(
|
finalizeClosureCall(
|
||||||
MACHINE,
|
MACHINE,
|
||||||
finalWorldValue);
|
finalWorldValue);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user