diff options
Diffstat (limited to 'module/language/ecmascript/impl.scm')
-rw-r--r-- | module/language/ecmascript/impl.scm | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/module/language/ecmascript/impl.scm b/module/language/ecmascript/impl.scm index 737639fd4..c31c29d73 100644 --- a/module/language/ecmascript/impl.scm +++ b/module/language/ecmascript/impl.scm @@ -26,7 +26,7 @@ #:use-module (language ecmascript array) #:re-export (*undefined* *this* call/this* pget pput pdel has-property? - ->boolean + ->boolean ->number new-object new new-array) #:export (js-init get-this typeof @@ -110,3 +110,32 @@ (define-method (+ a b) (+ (->number a) (->number b))) + +(define-method (- a b) + (- (->number a) (->number b))) + +(define-method (* a b) + (* (->number a) (->number b))) + +(define-method (/ a b) + (/ (->number a) (->number b))) + +(define-method (< a b) + (< (->number a) (->number b))) +(define-method (< (a <string>) (b <string>)) + (string< a b)) + +(define-method (<= a b) + (<= (->number a) (->number b))) +(define-method (<= (a <string>) (b <string>)) + (string<= a b)) + +(define-method (>= a b) + (>= (->number a) (->number b))) +(define-method (>= (a <string>) (b <string>)) + (string>= a b)) + +(define-method (> a b) + (> (->number a) (->number b))) +(define-method (> (a <string>) (b <string>)) + (string> a b)) |