removing helpers.js
This commit is contained in:
parent
7a0c6381db
commit
1bb1b70192
|
@ -9,13 +9,8 @@
|
||||||
;; HashTable at the toplevel
|
;; HashTable at the toplevel
|
||||||
;; jsnums at the toplevel
|
;; jsnums at the toplevel
|
||||||
;;
|
;;
|
||||||
;; followed by:
|
;; followed by the base library
|
||||||
;;
|
;;
|
||||||
;; plt.link
|
|
||||||
;; plt.helpers
|
|
||||||
;; plt.types
|
|
||||||
;; plt.primitives
|
|
||||||
;; plt.runtime
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +53,10 @@
|
||||||
(define-runtime-path link.js "runtime-src/link.js")
|
(define-runtime-path link.js "runtime-src/link.js")
|
||||||
|
|
||||||
;; from js-vm
|
;; from js-vm
|
||||||
(define-runtime-path helpers.js "runtime-src/helpers.js")
|
;; Deprecated:
|
||||||
|
;; (define-runtime-path helpers.js "runtime-src/helpers.js")
|
||||||
|
|
||||||
|
|
||||||
;; from js-vm
|
;; from js-vm
|
||||||
(define-runtime-path types.js "runtime-src/types.js")
|
(define-runtime-path types.js "runtime-src/types.js")
|
||||||
;; These primitives were coded for the js-vm project, and we'll gradually
|
;; These primitives were coded for the js-vm project, and we'll gradually
|
||||||
|
@ -79,6 +77,7 @@
|
||||||
jsnums.js
|
jsnums.js
|
||||||
|
|
||||||
baselib.js
|
baselib.js
|
||||||
|
|
||||||
baselib_unionfind.js
|
baselib_unionfind.js
|
||||||
baselib_equality.js
|
baselib_equality.js
|
||||||
baselib_format.js
|
baselib_format.js
|
||||||
|
@ -98,7 +97,7 @@
|
||||||
baselib_readergraph.js
|
baselib_readergraph.js
|
||||||
|
|
||||||
link.js
|
link.js
|
||||||
helpers.js
|
; helpers.js
|
||||||
types.js
|
types.js
|
||||||
; js-vm-primitives.js
|
; js-vm-primitives.js
|
||||||
runtime.js))
|
runtime.js))
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
// Skeleton for basic library functions
|
// Basic library functions. This will include a few simple functions,
|
||||||
|
// but be augmented with several namespaces for the other libraries in
|
||||||
|
// the base library.
|
||||||
if (! this['plt']) { this['plt'] = {}; }
|
if (! this['plt']) { this['plt'] = {}; }
|
||||||
(function (plt) {
|
(function (plt) {
|
||||||
var baselib = {};
|
var baselib = {};
|
||||||
|
@ -6,9 +8,7 @@ if (! this['plt']) { this['plt'] = {}; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Simple object inheritance.
|
||||||
|
|
||||||
// Inheritance.
|
|
||||||
var heir = function(parentPrototype) {
|
var heir = function(parentPrototype) {
|
||||||
var f = function() {}
|
var f = function() {}
|
||||||
f.prototype = parentPrototype;
|
f.prototype = parentPrototype;
|
||||||
|
@ -17,8 +17,26 @@ if (! this['plt']) { this['plt'] = {}; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// clone: object -> object
|
||||||
|
// Copies an object. The new object should respond like the old
|
||||||
|
// object, including to things like instanceof.
|
||||||
|
var clone = function(obj) {
|
||||||
|
var C = function() {}
|
||||||
|
C.prototype = obj;
|
||||||
|
var c = new C();
|
||||||
|
for (property in obj) {
|
||||||
|
if (obj.hasOwnProperty(property)) {
|
||||||
|
c[property] = obj[property];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
baselib.heir = heir;
|
baselib.heir = heir;
|
||||||
|
baselib.clone = clone;
|
||||||
|
|
||||||
|
|
||||||
})(this['plt']);
|
})(this['plt']);
|
||||||
|
|
|
@ -25,48 +25,30 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// (define-struct exn (message continuation-mark-set))
|
||||||
var Exn = plt.baselib.structs.makeStructureType(
|
var Exn = plt.baselib.structs.makeStructureType(
|
||||||
'exn',
|
'exn', false, 2, 0, false, false);
|
||||||
false,
|
|
||||||
2,
|
|
||||||
0,
|
|
||||||
false,
|
|
||||||
function(args, name, k) {
|
|
||||||
// helpers.check(args[0], isString, name, 'string', 1);
|
|
||||||
// helpers.check(args[1], types.isContinuationMarkSet,
|
|
||||||
// name, 'continuation mark set', 2);
|
|
||||||
return k(args);
|
|
||||||
});
|
|
||||||
|
|
||||||
// (define-struct (exn:break exn) (continuation))
|
// (define-struct (exn:break exn) (continuation))
|
||||||
var ExnBreak = plt.baselib.structs.makeStructureType(
|
var ExnBreak = plt.baselib.structs.makeStructureType(
|
||||||
'exn:break', Exn, 1, 0, false,
|
'exn:break', Exn, 1, 0, false, false);
|
||||||
function(args, name, k) {
|
|
||||||
// helpers.check(args[2], function(x) { return x instanceof ContinuationClosureValue; },
|
|
||||||
// name, 'continuation', 3);
|
|
||||||
return k(args);
|
|
||||||
});
|
|
||||||
|
|
||||||
var ExnFail =
|
|
||||||
plt.baselib.structs.makeStructureType('exn:fail',
|
|
||||||
Exn, 0, 0, false, false);
|
|
||||||
|
|
||||||
var ExnFailContract =
|
var ExnFail = plt.baselib.structs.makeStructureType(
|
||||||
plt.baselib.structs.makeStructureType('exn:fail:contract',
|
'exn:fail', Exn, 0, 0, false, false);
|
||||||
ExnFail, 0, 0, false, false);
|
|
||||||
|
|
||||||
var ExnFailContractArity =
|
var ExnFailContract = plt.baselib.structs.makeStructureType(
|
||||||
plt.baselib.structs.makeStructureType('exn:fail:contract:arity',
|
'exn:fail:contract', ExnFail, 0, 0, false, false);
|
||||||
ExnFailContract, 0, 0, false, false);
|
|
||||||
|
|
||||||
var ExnFailContractVariable =
|
var ExnFailContractArity = plt.baselib.structs.makeStructureType(
|
||||||
plt.baselib.structs.makeStructureType('exn:fail:contract:variable',
|
'exn:fail:contract:arity', ExnFailContract, 0, 0, false, false);
|
||||||
ExnFailContract, 1, 0, false, false);
|
|
||||||
|
|
||||||
var ExnFailContractDivisionByZero =
|
var ExnFailContractVariable = plt.baselib.structs.makeStructureType(
|
||||||
plt.baselib.structs.makeStructureType('exn:fail:contract:divide-by-zero',
|
'exn:fail:contract:variable', ExnFailContract, 1, 0, false, false);
|
||||||
ExnFailContract, 0, 0, false, false);
|
|
||||||
|
|
||||||
|
var ExnFailContractDivisionByZero = plt.baselib.structs.makeStructureType(
|
||||||
|
'exn:fail:contract:divide-by-zero', ExnFailContract, 0, 0, false, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (types.isStruct(x)) {
|
if (types.isStruct(x)) {
|
||||||
var aStruct = helpers.clone(x);
|
var aStruct = baselib.clone(x);
|
||||||
objectHash.put(x, aStruct);
|
objectHash.put(x, aStruct);
|
||||||
for(var i = 0 ;i < x._fields.length; i++) {
|
for(var i = 0 ;i < x._fields.length; i++) {
|
||||||
x._fields[i] = readerGraph(x._fields[i], objectHash, n+1);
|
x._fields[i] = readerGraph(x._fields[i], objectHash, n+1);
|
||||||
|
|
|
@ -9,7 +9,6 @@ if(this['plt'] === undefined) { this['plt'] = {}; }
|
||||||
var runtime = {};
|
var runtime = {};
|
||||||
scope['runtime'] = runtime;
|
scope['runtime'] = runtime;
|
||||||
|
|
||||||
var helpers = plt.helpers;
|
|
||||||
var types = plt.types;
|
var types = plt.types;
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,7 +40,7 @@ if(this['plt'] === undefined) { this['plt'] = {}; }
|
||||||
var makeList = types.list;
|
var makeList = types.list;
|
||||||
var makePair = types.pair;
|
var makePair = types.pair;
|
||||||
|
|
||||||
var heir = helpers.heir;
|
var heir = plt.baselib.heir;
|
||||||
var toDomNode = plt.baselib.format.toDomNode;
|
var toDomNode = plt.baselib.format.toDomNode;
|
||||||
var toWrittenString = plt.baselib.format.toWrittenString;
|
var toWrittenString = plt.baselib.format.toWrittenString;
|
||||||
var toDisplayedString = plt.baselib.format.toDisplayedString;
|
var toDisplayedString = plt.baselib.format.toDisplayedString;
|
||||||
|
|
|
@ -17,8 +17,6 @@ if (! this['plt']) { this['plt'] = {}; }
|
||||||
scope['types'] = types;
|
scope['types'] = types;
|
||||||
|
|
||||||
|
|
||||||
// helpers refers to plt.helpers.
|
|
||||||
var helpers = scope['helpers'];
|
|
||||||
|
|
||||||
|
|
||||||
var getEqHashCode = plt.baselib.hash.getEqHashCode;
|
var getEqHashCode = plt.baselib.hash.getEqHashCode;
|
||||||
|
|
|
@ -10,4 +10,5 @@
|
||||||
(test "conform.rkt")
|
(test "conform.rkt")
|
||||||
(test "sk-generator.rkt")
|
(test "sk-generator.rkt")
|
||||||
(test "sk-generator-2.rkt")
|
(test "sk-generator-2.rkt")
|
||||||
(test "simple-structs.rkt")
|
(test "simple-structs.rkt")
|
||||||
|
(test "man-vs-boy.rkt")
|
Loading…
Reference in New Issue
Block a user