From 487466fe8ab3fb6d6232bdfb0e3a25766f4002cb Mon Sep 17 00:00:00 2001 From: zaoqi Date: Sun, 3 Dec 2017 20:19:16 +0800 Subject: [PATCH] test --- cs-js.cscm | 1 + cs-test.rkt | 21 +++------------------ js.cscm | 1 - 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/cs-js.cscm b/cs-js.cscm index d97c8a4..e8e6605 100644 --- a/cs-js.cscm +++ b/cs-js.cscm @@ -23,6 +23,7 @@ (define (MapNothing? x) (eq? x MapNothing)) (define (map-has? m k) (not (or (MapNothing? (ref (/ m p) k)) + (undefined? (ref (/ m p) k)) (undefined? (ref (/ m x) k))))) (define (map-get m k t) (define pv (ref (/ m p) k)) diff --git a/cs-test.rkt b/cs-test.rkt index 28f5d04..e4ce6c9 100644 --- a/cs-test.rkt +++ b/cs-test.rkt @@ -132,21 +132,6 @@ ) (load/test ["js.cscm"] - [(js '(begin - (struct map? (%Map x p c)) - (define (map x) (%Map x (!) 0)) - (define MapNothing (new (newtype))) - (define (MapNothing? x) (eq? x MapNothing)) - (define (map-has? m k) - (not (or (MapNothing? (ref (/ m p) k)) - (undefined? (ref (/ m x) k))))) - (define (map-get m k t) - (define pv (ref (/ m p) k)) - (cond/begin - [(MapNothing? pv) (return (t))] - [(undefined? pv) - (define v (ref (/ m x) k)) - (return (if (undefined? v) (t) v))] - [else (return pv)])))) - 0] - ) + [(js '(struct a (b c))) + |var aT=function(){};var a=function(x){return x instanceof aT;};var b=function(c){var v_=new aT();v_.c=c;return v_;};|] + ) \ No newline at end of file diff --git a/js.cscm b/js.cscm index 4e87e8a..8d8335b 100644 --- a/js.cscm +++ b/js.cscm @@ -326,6 +326,5 @@ "var "pred"=function(x){return x instanceof "t N"}"N "var "constructor"=" "function("(add-between fields ",")"){var v_=new "t"()"N (map (λ (f) (++ "v_."f"="f N)) fields) "return v_"N"}" N))) - (define (js x) (EVAL x ig)) js))