From 748c868680683df1949f62aac274040ac5bf43da Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 30 Jul 2018 23:40:48 -0400 Subject: Now implementing math functionality in stdlib instead of the compiler. --- .../common-lisp/procedure/common.jvm.lux | 27 --------- .../lang/translation/js/procedure/common.jvm.lux | 54 ----------------- .../lang/translation/jvm/procedure/common.jvm.lux | 70 ---------------------- .../lang/translation/lua/procedure/common.jvm.lux | 40 ------------- .../lang/translation/php/procedure/common.jvm.lux | 23 ------- .../luxc/lang/translation/php/runtime.jvm.lux | 33 ---------- .../translation/python/procedure/common.jvm.lux | 23 ------- .../luxc/lang/translation/python/runtime.jvm.lux | 33 ---------- .../lang/translation/r/procedure/common.jvm.lux | 28 --------- .../lang/translation/ruby/procedure/common.jvm.lux | 47 --------------- 10 files changed, 378 deletions(-) (limited to 'new-luxc/source') diff --git a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux index ba2e0a8b4..7218d9618 100644 --- a/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/common-lisp/procedure/common.jvm.lux @@ -315,32 +315,6 @@ (install "clip" (trinary text//clip)) ))) -## [[Math]] -(def: (math//pow [subject param]) - Binary - ((_.$apply2 (_.global "expt")) subject param)) - -(def: math-func - (-> Text (-> Expression Expression)) - (|>> _.global _.$apply1)) - -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary (math-func "cos"))) - (install "sin" (unary (math-func "sin"))) - (install "tan" (unary (math-func "tan"))) - (install "acos" (unary (math-func "acos"))) - (install "asin" (unary (math-func "asin"))) - (install "atan" (unary (math-func "atan"))) - (install "exp" (unary (math-func "exp"))) - (install "log" (unary (math-func "log"))) - (install "ceil" (unary (math-func "ceiling"))) - (install "floor" (unary (math-func "floor"))) - (install "pow" (binary math//pow)) - ))) - ## [[IO]] (def: (void code) (-> Expression Expression) @@ -415,7 +389,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux index 4c3b0afe8..b40f00c73 100644 --- a/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/js/procedure/common.jvm.lux @@ -284,37 +284,6 @@ ) -## [[Math]] -(do-template [ ] - [(def: ( inputJS) - Unary - (format "Math." "(" inputJS ")"))] - - [math//cos "cos"] - [math//sin "sin"] - [math//tan "tan"] - [math//acos "acos"] - [math//asin "asin"] - [math//atan "atan"] - [math//cosh "cosh"] - [math//sinh "sinh"] - [math//tanh "tanh"] - [math//exp "exp"] - [math//log "log"] - [math//ceil "ceil"] - [math//floor "floor"] - [math//round "round"] - ) - -(do-template [ ] - [(def: ( [inputJS paramJS]) - Binary - (format "Math." "(" inputJS "," paramJS ")"))] - - [math//atan2 "atan2"] - [math//pow "pow"] - ) - ## [[IO]] (def: (io//log messageJS) Unary @@ -454,28 +423,6 @@ (install "size" (unary array//size)) ))) -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary math//cos)) - (install "sin" (unary math//sin)) - (install "tan" (unary math//tan)) - (install "acos" (unary math//acos)) - (install "asin" (unary math//asin)) - (install "atan" (unary math//atan)) - (install "cosh" (unary math//cosh)) - (install "sinh" (unary math//sinh)) - (install "tanh" (unary math//tanh)) - (install "exp" (unary math//exp)) - (install "log" (unary math//log)) - (install "ceil" (unary math//ceil)) - (install "floor" (unary math//floor)) - (install "round" (unary math//round)) - (install "atan2" (binary math//atan2)) - (install "pow" (binary math//pow)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -518,7 +465,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux index 2334f9cc2..327a95871 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.jvm.lux @@ -378,53 +378,6 @@ runtimeT.noneI (_.label @end)))) -## [[Math]] -(def: math-unary-method ($t.method (list $t.double) (#.Some $t.double) (list))) -(def: math-binary-method ($t.method (list $t.double $t.double) (#.Some $t.double) (list))) - -(do-template [ ] - [(def: ( inputI) - Unary - (|>> inputI - (_.unwrap #$.Double) - (_.INVOKESTATIC "java.lang.Math" math-unary-method #0) - (_.wrap #$.Double)))] - - [math//cos "cos"] - [math//sin "sin"] - [math//tan "tan"] - [math//acos "acos"] - [math//asin "asin"] - [math//atan "atan"] - [math//cosh "cosh"] - [math//sinh "sinh"] - [math//tanh "tanh"] - [math//exp "exp"] - [math//log "log"] - [math//ceil "ceil"] - [math//floor "floor"] - ) - -(do-template [ ] - [(def: ( [inputI paramI]) - Binary - (|>> inputI (_.unwrap #$.Double) - paramI (_.unwrap #$.Double) - (_.INVOKESTATIC "java.lang.Math" math-binary-method #0) - (_.wrap #$.Double)))] - - [math//atan2 "atan2"] - [math//pow "pow"] - ) - -(def: (math//round inputI) - Unary - (|>> inputI - (_.unwrap #$.Double) - (_.INVOKESTATIC "java.lang.Math" "round" ($t.method (list $t.double) (#.Some $t.long) (list)) #0) - _.L2D - (_.wrap #$.Double))) - ## [[IO]] (def: string-method $.Method ($t.method (list $String) #.None (list))) (def: (io//log messageI) @@ -597,28 +550,6 @@ (install "size" (unary array//size)) ))) -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary math//cos)) - (install "sin" (unary math//sin)) - (install "tan" (unary math//tan)) - (install "acos" (unary math//acos)) - (install "asin" (unary math//asin)) - (install "atan" (unary math//atan)) - (install "cosh" (unary math//cosh)) - (install "sinh" (unary math//sinh)) - (install "tanh" (unary math//tanh)) - (install "exp" (unary math//exp)) - (install "log" (unary math//log)) - (install "ceil" (unary math//ceil)) - (install "floor" (unary math//floor)) - (install "round" (unary math//round)) - (install "atan2" (binary math//atan2)) - (install "pow" (binary math//pow)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -661,7 +592,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux index cfbe7f0ac..372d107cb 100644 --- a/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/lua/procedure/common.jvm.lux @@ -287,28 +287,6 @@ [text//index runtimeT.text//index] ) -## [[Math]] -(do-template [ ] - [(def: ( inputO) - Unary - (lua.apply (list inputO)))] - - [math//cos "math.cos"] - [math//sin "math.sin"] - [math//tan "math.tan"] - [math//acos "math.acos"] - [math//asin "math.asin"] - [math//atan "math.atan"] - [math//exp "math.exp"] - [math//log "math.log"] - [math//ceil "math.ceil"] - [math//floor "math.floor"] - ) - -(def: (math//pow [inputO paramO]) - Binary - (lua.apply "math.pow" (list inputO paramO))) - ## [[IO]] (def: (io//log messageO) Unary @@ -442,23 +420,6 @@ (install "size" (unary array//size)) ))) -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary math//cos)) - (install "sin" (unary math//sin)) - (install "tan" (unary math//tan)) - (install "acos" (unary math//acos)) - (install "asin" (unary math//asin)) - (install "atan" (unary math//atan)) - (install "exp" (unary math//exp)) - (install "log" (unary math//log)) - (install "ceil" (unary math//ceil)) - (install "floor" (unary math//floor)) - (install "pow" (binary math//pow)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -501,7 +462,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux index 9638ec9bf..715d8bf0b 100644 --- a/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/php/procedure/common.jvm.lux @@ -327,28 +327,6 @@ ## (install "clip" (trinary text//clip)) ## ))) -## ## [[Math]] -## (def: (math//pow [subject param]) -## Binary -## (|> subject (_.** param))) - -## (def: math-procs -## Bundle -## (<| (prefix "math") -## (|> (dict.new text.Hash) -## (install "cos" (unary runtimeT.math//cos)) -## (install "sin" (unary runtimeT.math//sin)) -## (install "tan" (unary runtimeT.math//tan)) -## (install "acos" (unary runtimeT.math//acos)) -## (install "asin" (unary runtimeT.math//asin)) -## (install "atan" (unary runtimeT.math//atan)) -## (install "exp" (unary runtimeT.math//exp)) -## (install "log" (unary runtimeT.math//log)) -## (install "ceil" (unary runtimeT.math//ceil)) -## (install "floor" (unary runtimeT.math//floor)) -## (install "pow" (binary math//pow)) -## ))) - ## ## [[IO]] ## (def: io-procs ## Bundle @@ -409,7 +387,6 @@ ## (dict.merge frac-procs) ## (dict.merge text-procs) ## (dict.merge array-procs) - ## (dict.merge math-procs) ## (dict.merge io-procs) ## (dict.merge atom-procs) ## (dict.merge process-procs) diff --git a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux index ac04df255..d4c14b473 100644 --- a/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/php/runtime.jvm.lux @@ -338,38 +338,6 @@ ## @@process//future ## @@process//schedule)) -## (do-template [ ] -## [(runtime: ( input) -## ($_ _.then! -## (_.import! "math") -## (_.return! (|> (_.global "math") (_.send (list input) )))))] - -## [math//cos "cos"] -## [math//sin "sin"] -## [math//tan "tan"] -## [math//acos "acos"] -## [math//asin "asin"] -## [math//atan "atan"] -## [math//exp "exp"] -## [math//log "log"] -## [math//ceil "ceil"] -## [math//floor "floor"] -## ) - -## (def: runtime//math -## Runtime -## ($_ _.then! -## @@math//cos -## @@math//sin -## @@math//tan -## @@math//acos -## @@math//asin -## @@math//atan -## @@math//exp -## @@math//log -## @@math//ceil -## @@math//floor)) - (def: check-necessary-conditions! Statement (let [condition (_.= (_.int 8) @@ -391,7 +359,6 @@ ## runtime//atom ## runtime//io ## runtime//process - ## runtime//math )) (def: #export artifact Text (format prefix //.extension)) diff --git a/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux index f7cdf044a..35ffdb1f8 100644 --- a/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/python/procedure/common.jvm.lux @@ -347,28 +347,6 @@ (install "clip" (trinary text//clip)) ))) -## [[Math]] -(def: (math//pow [subject param]) - Binary - (|> subject (python.** param))) - -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary runtimeT.math//cos)) - (install "sin" (unary runtimeT.math//sin)) - (install "tan" (unary runtimeT.math//tan)) - (install "acos" (unary runtimeT.math//acos)) - (install "asin" (unary runtimeT.math//asin)) - (install "atan" (unary runtimeT.math//atan)) - (install "exp" (unary runtimeT.math//exp)) - (install "log" (unary runtimeT.math//log)) - (install "ceil" (unary runtimeT.math//ceil)) - (install "floor" (unary runtimeT.math//floor)) - (install "pow" (binary math//pow)) - ))) - ## [[IO]] (def: io-procs Bundle @@ -449,7 +427,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux index 275eea636..3dd5980e8 100644 --- a/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/python/runtime.jvm.lux @@ -375,38 +375,6 @@ Runtime @@process//schedule) -(do-template [ ] - [(runtime: ( input) - ($_ python.then! - (python.import! "math") - (python.return! (|> (python.global "math") (python.send (list input) )))))] - - [math//cos "cos"] - [math//sin "sin"] - [math//tan "tan"] - [math//acos "acos"] - [math//asin "asin"] - [math//atan "atan"] - [math//exp "exp"] - [math//log "log"] - [math//ceil "ceil"] - [math//floor "floor"] - ) - -(def: runtime//math - Runtime - ($_ python.then! - @@math//cos - @@math//sin - @@math//tan - @@math//acos - @@math//asin - @@math//atan - @@math//exp - @@math//log - @@math//ceil - @@math//floor)) - (def: runtime Runtime ($_ python.then! @@ -420,7 +388,6 @@ runtime//box runtime//io runtime//process - runtime//math )) (def: #export artifact Text (format prefix ".py")) diff --git a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux index eab139f33..c17eb6738 100644 --- a/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/r/procedure/common.jvm.lux @@ -329,33 +329,6 @@ (install "clip" (trinary text//clip)) ))) -## [[Math]] -(def: (math//pow [subject param]) - Binary - (|> subject (r.** param))) - -(def: (math-func name) - (-> Text (-> Expression Expression)) - (function (_ input) - (r.apply (list input) (r.global name)))) - -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary (math-func "cos"))) - (install "sin" (unary (math-func "sin"))) - (install "tan" (unary (math-func "tan"))) - (install "acos" (unary (math-func "acos"))) - (install "asin" (unary (math-func "asin"))) - (install "atan" (unary (math-func "atan"))) - (install "exp" (unary (math-func "exp"))) - (install "log" (unary (math-func "log"))) - (install "ceil" (unary (math-func "ceiling"))) - (install "floor" (unary (math-func "floor"))) - (install "pow" (binary math//pow)) - ))) - ## [[IO]] (def: (io//exit input) Unary @@ -446,7 +419,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) diff --git a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux index bed68a0a0..ba6a1241a 100644 --- a/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux @@ -360,52 +360,6 @@ (install "clip" (trinary text//clip)) ))) -## [[Math]] -(do-template [ ] - [(def: - Unary - (|>> (list) (ruby.apply )))] - - [math//cos "Math.cos"] - [math//sin "Math.sin"] - [math//tan "Math.tan"] - [math//acos "Math.acos"] - [math//asin "Math.asin"] - [math//atan "Math.atan"] - [math//exp "Math.exp"] - [math//log "Math.log"] - ) - -(do-template [ ] - [(def: - Unary - (ruby.send (list)))] - - [math//ceil "ceil"] - [math//floor "floor"] - ) - -(def: (math//pow [inputO paramO]) - Binary - (ruby.pow paramO inputO)) - -(def: math-procs - Bundle - (<| (prefix "math") - (|> (dict.new text.Hash) - (install "cos" (unary math//cos)) - (install "sin" (unary math//sin)) - (install "tan" (unary math//tan)) - (install "acos" (unary math//acos)) - (install "asin" (unary math//asin)) - (install "atan" (unary math//atan)) - (install "exp" (unary math//exp)) - (install "log" (unary math//log)) - (install "ceil" (unary math//ceil)) - (install "floor" (unary math//floor)) - (install "pow" (binary math//pow)) - ))) - ## [[IO]] (def: (io//log messageO) Unary @@ -506,7 +460,6 @@ (dict.merge frac-procs) (dict.merge text-procs) (dict.merge array-procs) - (dict.merge math-procs) (dict.merge io-procs) (dict.merge atom-procs) (dict.merge box-procs) -- cgit v1.2.3