diff --git a/js-assembler/assemble-perform-statement.rkt b/js-assembler/assemble-perform-statement.rkt index 01531c8..e4c81f5 100644 --- a/js-assembler/assemble-perform-statement.rkt +++ b/js-assembler/assemble-perform-statement.rkt @@ -26,10 +26,10 @@ if (! (MACHINE.proc instanceof RUNTIME.Closure)) { RUNTIME.raiseOperatorIsNotClosure(MACHINE, MACHINE.proc); } - if (! RUNTIME.isArityMatching(MACHINE.proc.arity, ~a)) { + if (! RUNTIME.isArityMatching(MACHINE.proc.racketArity, ~a)) { RUNTIME.raiseArityMismatchError(MACHINE, MACHINE.proc, - MACHINE.proc.arity, + MACHINE.proc.racketArity, ~a); } EOF @@ -42,10 +42,10 @@ EOF if (! (typeof(MACHINE.proc) === 'function')) { RUNTIME.raiseOperatorIsNotPrimitiveProcedure(MACHINE, MACHINE.proc); } - if (! RUNTIME.isArityMatching(MACHINE.proc.arity, ~a)) { + if (! RUNTIME.isArityMatching(MACHINE.proc.racketArity, ~a)) { RUNTIME.raiseArityMismatchError(MACHINE, MACHINE.proc, - MACHINE.proc.arity, + MACHINE.proc.racketArity, ~a); } EOF diff --git a/js-assembler/assemble.rkt b/js-assembler/assemble.rkt index da69908..45ca5e9 100644 --- a/js-assembler/assemble.rkt +++ b/js-assembler/assemble.rkt @@ -177,7 +177,7 @@ EOF (assemble-oparg (TestPrimitiveProcedure-operand test)) jump)] [(TestClosureArityMismatch? test) - (format "if (! RUNTIME.isArityMatching((~a).arity, ~a)) { ~a }" + (format "if (! RUNTIME.isArityMatching((~a).racketArity, ~a)) { ~a }" (assemble-oparg (TestClosureArityMismatch-closure test)) (assemble-oparg (TestClosureArityMismatch-n test)) jump)]) diff --git a/js-assembler/runtime-src/baselib-functions.js b/js-assembler/runtime-src/baselib-functions.js index d1bd773..3edac5b 100644 --- a/js-assembler/runtime-src/baselib-functions.js +++ b/js-assembler/runtime-src/baselib-functions.js @@ -52,7 +52,7 @@ } // Check arity usage. - if (! plt.baselib.arity.isArityMatching(v.arity, args.length)) { + if (! plt.baselib.arity.isArityMatching(v.racketArity, args.length)) { throw new Error("arity mismatch"); } @@ -75,7 +75,7 @@ fail = fail || function(){}; // Check arity usage. - if (! plt.baselib.arity.isArityMatching(v.arity, arguments.length - 2)) { + if (! plt.baselib.arity.isArityMatching(v.racketArity, arguments.length - 2)) { throw new Error("arity mismatch"); } @@ -135,7 +135,7 @@ // internallCallDuringPause: call a Racket procedure and get its results. // The use assumes the machine is in a running-but-paused state. var internalCallDuringPause = function(MACHINE, proc, success, fail) { - if (! plt.baselib.arity.isArityMatching(proc.arity, arguments.length - 4)) { + if (! plt.baselib.arity.isArityMatching(proc.racketArity, arguments.length - 4)) { return fail(plt.baselib.exceptions.makeExnFailContractArity("arity mismatch")); } @@ -219,7 +219,7 @@ // into its text segment. var Closure = function(label, arity, closedVals, displayName) { this.label = label; // (MACHINE -> void) - this.arity = arity; // number + this.racketArity = arity; // number this.closedVals = closedVals; // arrayof number this.displayName = displayName; // string }; @@ -275,7 +275,7 @@ var makePrimitiveProcedure = function(name, arity, f) { - f.arity = arity; + f.racketArity = arity; f.displayName = name; return f; }; @@ -311,14 +311,14 @@ if (isPrimitiveProcedure(f)) { return makePrimitiveProcedure( name, - f.arity, + f.racketArity, function() { return f.apply(null, arguments); }); } else { return new Closure( f.label, - f.arity, + f.racketArity, f.closedVals, name); } diff --git a/js-assembler/runtime-src/runtime.js b/js-assembler/runtime-src/runtime.js index c96c2db..87b51c2 100644 --- a/js-assembler/runtime-src/runtime.js +++ b/js-assembler/runtime-src/runtime.js @@ -512,7 +512,7 @@ if(this['plt'] === undefined) { this['plt'] = {}; } var installPrimitiveProcedure = function(name, arity, f) { Primitives[name] = f; - Primitives[name].arity = arity; + Primitives[name].racketArity = arity; Primitives[name].displayName = name; }; diff --git a/racketcon/Makefile b/racketcon/Makefile index 79ab0c9..a550168 100644 --- a/racketcon/Makefile +++ b/racketcon/Makefile @@ -1,4 +1,7 @@ all: - ../whalesong build talk.rkt - ../whalesong get-javascript --verbose fact.rkt > fact.js - ../whalesong get-runtime --verbose > runtime.js + ../whalesong get-runtime >runtime.js + ../whalesong get-javascript talk.rkt >talk.js +# ../whalesong get-javascript --compress-javascript rain.rkt >rain.js +# ../whalesong get-javascript --compress-javascript pacman.rkt >pacman.js +# ../whalesong get-javascript --compress-javascript hello.rkt >hello.js +# ../whalesong get-javascript --compress-javascript fact.rkt > fact.js diff --git a/racketcon/talk.html b/racketcon/talk.html new file mode 100644 index 0000000..073b88c --- /dev/null +++ b/racketcon/talk.html @@ -0,0 +1,16 @@ + + +
+