From 97ab1f076ac08992d6b64cd77bc0bef97b3fc50a Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Tue, 31 Jul 2018 22:23:07 -0400 Subject: Now implementing array functionality in stdlib instead of the compiler. --- .../common-lisp/procedure/common.jvm.lux | 29 ----------- .../lang/translation/js/procedure/common.jvm.lux | 33 ------------- .../luxc/lang/translation/js/runtime.jvm.lux | 30 ------------ .../lang/translation/jvm/procedure/common.jvm.lux | 56 ---------------------- .../lang/translation/lua/procedure/common.jvm.lux | 33 ------------- .../lang/translation/php/procedure/common.jvm.lux | 31 ------------ .../translation/python/procedure/common.jvm.lux | 31 ------------ .../lang/translation/r/procedure/common.jvm.lux | 25 ---------- .../lang/translation/ruby/procedure/common.jvm.lux | 33 ------------- 9 files changed, 301 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 54a4336fb..91a95d2f9 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 @@ -177,34 +177,6 @@ (install "arithmetic-right-shift" (binary bit//arithmetic-right-shift)) ))) -## [[Arrays]] -(def: (array//new size0) - Unary - (_.make-array/init size0 _.nil)) - -(def: (array//get [arrayO idxO]) - Binary - (runtimeT.array//get arrayO idxO)) - -(def: (array//put [arrayO idxO elemO]) - Trinary - (runtimeT.array//put arrayO idxO elemO)) - -(def: (array//remove [arrayO idxO]) - Binary - (runtimeT.array//put arrayO idxO _.nil)) - -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary _.length)) - ))) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -359,7 +331,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-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 df1be8508..0efdedd4c 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 @@ -164,27 +164,6 @@ [bit//logical-right-shift runtimeT.bit//logical-right-shift] ) -## [[Arrays]] -(def: (array//new sizeJS) - Unary - (self-contained (format "new Array(" runtimeT.int//to-number "(" sizeJS ")" ")"))) - -(def: (array//get [arrayJS idxJS]) - Binary - (format runtimeT.array//get "(" arrayJS "," idxJS ")")) - -(def: (array//put [arrayJS idxJS elemJS]) - Trinary - (format runtimeT.array//put "(" arrayJS "," idxJS "," elemJS ")")) - -(def: (array//remove [arrayJS idxJS]) - Binary - (format runtimeT.array//remove "(" arrayJS "," idxJS ")")) - -(def: (array//size arrayJS) - Unary - (format arrayJS ".length")) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -388,17 +367,6 @@ (install "clip" (trinary text//clip)) ))) -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary array//size)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -424,7 +392,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-procs) (dict.merge box-procs) ))) diff --git a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux index d5abbc150..af47bffce 100644 --- a/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux +++ b/new-luxc/source/luxc/lang/translation/js/runtime.jvm.lux @@ -597,35 +597,6 @@ __text//clip __text//char)) -(runtime: array//get "arrayGet" - (format "(function " @ "(arr,idx) {" - "var temp = arr[" int//to-number "(idx)];" - (format "if(temp !== undefined) {" - (format "return " (some "temp") ";") - "}" - "else {" - (format "return " none ";") - "}") - "})")) - -(runtime: array//put "arrayPut" - (format "(function " @ "(arr,idx,val) {" - "arr[" int//to-number "(idx)] = val;" - "return arr;" - "})")) - -(runtime: array//remove "arrayRemove" - (format "(function " @ "(arr,idx) {" - "delete arr[" int//to-number "(idx)];" - "return arr;" - "})")) - -(def: runtime//array - Runtime - (format __array//get - __array//put - __array//remove)) - (runtime: io//log "log" (format "(function " @ "(message) {" "if(typeof console !== \"undefined\" && console.log) { console.log(message); }" @@ -685,7 +656,6 @@ runtime//bit runtime//int runtime//text - runtime//array runtime//io runtime//js)) 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 49b1971f1..2c470c44c 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 @@ -113,15 +113,6 @@ (def: lux-intI $.Inst (|>> _.I2L (_.wrap #$.Long))) (def: jvm-intI $.Inst (|>> (_.unwrap #$.Long) _.L2I)) -(def: (array-writeI arrayI idxI elemI) - (-> $.Inst $.Inst $.Inst - $.Inst) - (|>> arrayI (_.CHECKCAST ($t.descriptor $Object-Array)) - _.DUP - idxI jvm-intI - elemI - _.AASTORE)) - (def: (predicateI tester) (-> (-> $.Label $.Inst) $.Inst) @@ -209,41 +200,6 @@ [bit//logical-right-shift _.LUSHR] ) -## [[Arrays]] -(def: (array//new lengthI) - Unary - (|>> lengthI jvm-intI (_.ANEWARRAY ($t.binary-name "java.lang.Object")))) - -(def: (array//get [arrayI idxI]) - Binary - (<| _.with-label (function (_ @is-null)) - _.with-label (function (_ @end)) - (|>> arrayI (_.CHECKCAST ($t.descriptor $Object-Array)) - idxI jvm-intI - _.AALOAD - _.DUP - (_.IFNULL @is-null) - runtimeT.someI - (_.GOTO @end) - (_.label @is-null) - _.POP - runtimeT.noneI - (_.label @end)))) - -(def: (array//put [arrayI idxI elemI]) - Trinary - (array-writeI arrayI idxI elemI)) - -(def: (array//remove [arrayI idxI]) - Binary - (array-writeI arrayI idxI _.NULL)) - -(def: (array//size arrayI) - Unary - (|>> arrayI (_.CHECKCAST ($t.descriptor $Object-Array)) - _.ARRAYLENGTH - lux-intI)) - ## [[Numbers]] (def: nat-method $.Method @@ -501,17 +457,6 @@ (install "clip" (trinary text//clip)) ))) -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary array//size)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -537,7 +482,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-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 4b128f946..394dd3d34 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 @@ -155,27 +155,6 @@ [bit//logical-right-shift runtimeT.bit//logical-right-shift] ) -## [[Arrays]] -(def: (array//new sizeO) - Unary - (runtimeT.array//new sizeO)) - -(def: (array//get [arrayO idxO]) - Binary - (runtimeT.array//get arrayO idxO)) - -(def: (array//put [arrayO idxO elemO]) - Trinary - (runtimeT.array//put arrayO idxO elemO)) - -(def: (array//remove [arrayO idxO]) - Binary - (runtimeT.array//put arrayO idxO runtimeT.unit)) - -(def: array//size - Unary - lua.length) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -387,17 +366,6 @@ (install "clip" (trinary text//clip)) ))) -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary array//size)) - ))) - (def: io-procs Bundle (<| (prefix "io") @@ -423,7 +391,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-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 774c28acf..f77a35292 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 @@ -182,36 +182,6 @@ ## (install "arithmetic-right-shift" (binary bit//arithmetic-right-shift)) ## ))) -## ## [[Arrays]] -## (def: (array//new sizeO) -## Unary -## (|> _.none -## list _.list -## (_.* sizeO))) - -## (def: (array//get [arrayO idxO]) -## Binary -## (runtimeT.array//get arrayO idxO)) - -## (def: (array//put [arrayO idxO elemO]) -## Trinary -## (runtimeT.array//put arrayO idxO elemO)) - -## (def: (array//remove [arrayO idxO]) -## Binary -## (runtimeT.array//put arrayO idxO _.none)) - -## (def: array-procs -## Bundle -## (<| (prefix "array") -## (|> (dict.new text.Hash) -## (install "new" (unary array//new)) -## (install "get" (binary array//get)) -## (install "put" (trinary array//put)) -## (install "remove" (binary array//remove)) -## (install "size" (unary _.length)) -## ))) - ## ## [[Numbers]] ## (host.import: java/lang/Double ## (#static MIN_VALUE Double) @@ -348,6 +318,5 @@ (dict.merge int-procs) ## (dict.merge frac-procs) ## (dict.merge text-procs) - ## (dict.merge array-procs) ## (dict.merge io-procs) ))) 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 a760dc3a2..430d4b5e7 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 @@ -182,36 +182,6 @@ (install "arithmetic-right-shift" (binary bit//arithmetic-right-shift)) ))) -## [[Arrays]] -(def: (array//new sizeO) - Unary - (|> python.none - list python.list - (python.* sizeO))) - -(def: (array//get [arrayO idxO]) - Binary - (runtimeT.array//get arrayO idxO)) - -(def: (array//put [arrayO idxO elemO]) - Trinary - (runtimeT.array//put arrayO idxO elemO)) - -(def: (array//remove [arrayO idxO]) - Binary - (runtimeT.array//put arrayO idxO python.none)) - -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary python.length)) - ))) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -388,7 +358,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-procs) (dict.merge box-procs) ))) 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 d8b383ff2..421618890 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 @@ -179,30 +179,6 @@ (install "arithmetic-right-shift" (binary bit//arithmetic-right-shift)) ))) -## [[Arrays]] -(def: (array//get [arrayO idxO]) - Binary - (runtimeT.array//get arrayO idxO)) - -(def: (array//put [arrayO idxO elemO]) - Trinary - (runtimeT.array//put arrayO idxO elemO)) - -(def: (array//remove [arrayO idxO]) - Binary - (runtimeT.array//put arrayO idxO r.null)) - -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary runtimeT.array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary r.length)) - ))) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -380,7 +356,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-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 1f995b44b..e40f49b80 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 @@ -181,38 +181,6 @@ (install "arithmetic-right-shift" (binary bit//arithmetic-right-shift)) ))) -## [[Arrays]] -(def: (array//new sizeO) - Unary - (ruby.apply "Array.new" (list sizeO))) - -(def: (array//get [arrayO idxO]) - Binary - (runtimeT.array//get arrayO idxO)) - -(def: (array//put [arrayO idxO elemO]) - Trinary - (runtimeT.array//put arrayO idxO elemO)) - -(def: (array//remove [arrayO idxO]) - Binary - (runtimeT.array//put arrayO idxO ruby.nil)) - -(def: array//size - Unary - ruby.length) - -(def: array-procs - Bundle - (<| (prefix "array") - (|> (dict.new text.Hash) - (install "new" (unary array//new)) - (install "get" (binary array//get)) - (install "put" (trinary array//put)) - (install "remove" (binary array//remove)) - (install "size" (unary array//size)) - ))) - ## [[Numbers]] (host.import: java/lang/Double (#static MIN_VALUE Double) @@ -421,7 +389,6 @@ (dict.merge int-procs) (dict.merge frac-procs) (dict.merge text-procs) - (dict.merge array-procs) (dict.merge io-procs) (dict.merge box-procs) ))) -- cgit v1.2.3