diff options
Diffstat (limited to '')
| -rw-r--r-- | new-luxc/source/luxc/lang/translation/ruby/procedure/common.jvm.lux | 47 | ||||
| -rw-r--r-- | new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux | 35 | 
2 files changed, 3 insertions, 79 deletions
| 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 a13dae50b..e38dfff28 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 @@ -233,9 +233,6 @@       Nullary       (<encode> <const>))] -  [nat//min                 0                           ruby.int] -  [nat//max                -1                           ruby.int] -    [frac//smallest          Double::MIN_VALUE            ruby.float]    [frac//min               (f/* -1.0 Double::MAX_VALUE) ruby.float]    [frac//max               Double::MAX_VALUE            ruby.float] @@ -282,12 +279,6 @@    [int//div        ruby./]    [int//rem        ruby.%] -  [nat//add        ruby.+] -  [nat//sub        ruby.-] -  [nat//mul        ruby.*] -  [nat//div        runtimeT.nat///] -  [nat//rem        runtimeT.nat//%] -    [deg//add        ruby.+]    [deg//sub        ruby.-]    [deg//mul        runtimeT.deg//*] @@ -319,21 +310,10 @@       Binary       (<cmp> paramO subjectO))] -  [nat//= ruby.=] -  [nat//< runtimeT.nat//<]    [int//= ruby.=]    [int//< ruby.<]    [deg//= ruby.=] -  [deg//< runtimeT.nat//<]) - -(do-template [<name>] -  [(def: (<name> inputO) -     Unary -     inputO)] - -  [nat//to-int] -  [int//to-nat] -  ) +  [deg//< ruby.<])  (def: frac//encode    Unary @@ -370,26 +350,6 @@    [frac//to-deg runtimeT.deg//from-frac]    ) -(def: nat//char -  Unary -  (ruby.send "chr" (list))) - -(def: nat-procs -  Bundle -  (<| (prefix "nat") -      (|> (dict.new text.Hash<Text>) -          (install "+" (binary nat//add)) -          (install "-" (binary nat//sub)) -          (install "*" (binary nat//mul)) -          (install "/" (binary nat//div)) -          (install "%" (binary nat//rem)) -          (install "=" (binary nat//=)) -          (install "<" (binary nat//<)) -          (install "min" (nullary nat//min)) -          (install "max" (nullary nat//max)) -          (install "to-int" (unary nat//to-int)) -          (install "char" (unary nat//char))))) -  (def: int-procs    Bundle    (<| (prefix "int") @@ -403,8 +363,8 @@            (install "<" (binary int//<))            (install "min" (nullary int//min))            (install "max" (nullary int//max)) -          (install "to-nat" (unary int//to-nat)) -          (install "to-frac" (unary int//to-frac))))) +          (install "to-frac" (unary int//to-frac)) +          (install "char" (unary (ruby.send "chr" (list)))))))  (def: deg-procs    Bundle @@ -647,7 +607,6 @@    (<| (prefix "lux")        (|> lux-procs            (dict.merge bit-procs) -          (dict.merge nat-procs)            (dict.merge int-procs)            (dict.merge deg-procs)            (dict.merge frac-procs) diff --git a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux index c3f2981e1..7f66b0cd5 100644 --- a/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/ruby/runtime.jvm.lux @@ -181,40 +181,6 @@  (def: high (-> Expression Expression) (bit//logical-right-shift (ruby.int 32)))  (def: low  (-> Expression Expression) (ruby.bit-and "0xFFFFFFFF")) -(runtime: (nat//< param subject) -  (ruby.block! (list (ruby.set! (list "ph") (high param)) -                     (ruby.set! (list "sh") (high subject)) -                     (ruby.return! (ruby.or (ruby.< "ph" "sh") -                                            (ruby.and (ruby.= "ph" "sh") -                                                      (ruby.< (low param) (low subject)))))))) - -(runtime: (nat/// param subject) -  (ruby.if! (ruby.< (ruby.int 0) param) -            (ruby.if! (nat//< param subject) -                      (ruby.return! (ruby.int 0)) -                      (ruby.return! (ruby.int 1))) -            (ruby.block! (list (ruby.set! (list "quotient") (|> subject -                                                                (ruby.bit-shr (ruby.int 1)) -                                                                (ruby./ param) -                                                                (ruby.bit-shl (ruby.int 1)))) -                               (ruby.set! (list "remainder") (ruby.- (ruby.* param "quotient") -                                                                     subject)) -                               (ruby.if! (ruby.not (nat//< param "remainder")) -                                         (ruby.return! (ruby.+ (ruby.int 1) "quotient")) -                                         (ruby.return! "quotient")))))) - -(runtime: (nat//% param subject) -  (let [flat (|> subject -                 (nat/// param) -                 (ruby.* param))] -    (ruby.return! (ruby.- flat subject)))) - -(def: runtime//nat -  Runtime -  (format @@nat//< -          @@nat/// -          @@nat//%)) -  (runtime: (deg//* param subject)    (ruby.block! (list (ruby.set! (list "sL") (low subject))                       (ruby.set! (list "sH") (high subject)) @@ -366,7 +332,6 @@    (format runtime//lux "\n"            runtime//adt "\n"            runtime//bit "\n" -          runtime//nat "\n"            runtime//deg "\n"            runtime//text "\n"            runtime//array "\n" | 
