aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
diff options
context:
space:
mode:
authorEduardo Julian2017-11-21 16:09:07 -0400
committerEduardo Julian2017-11-21 16:09:07 -0400
commite37e3713e080606930a5f8442f03dabc4c26a7f9 (patch)
treead772c1801af0d01dc105bccf85703f13b127e50 /new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
parent3eabc421e559e7e2f903e06eb6b47a2ee0cd25b9 (diff)
- Fixed some bugs.
- Some small refactoring.
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux')
-rw-r--r--new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux127
1 files changed, 63 insertions, 64 deletions
diff --git a/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
index 0e17f99a6..6c1b18932 100644
--- a/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
+++ b/new-luxc/source/luxc/lang/translation/procedure/common.jvm.lux
@@ -267,65 +267,61 @@
$;Method
($t;method (list $t;long $t;long) (#;Some $t;int) (list)))
-(do-template [<name> <const> <wrapper>]
+(do-template [<name> <const> <type>]
[(def: (<name> _)
Nullary
- (|>. <const> <wrapper>))]
+ (|>. <const> ($i;wrap <type>)))]
- [nat//min ($i;long 0) ($i;wrap #$;Long)]
- [nat//max ($i;long -1) ($i;wrap #$;Long)]
+ [nat//min ($i;long 0) #$;Long]
+ [nat//max ($i;long -1) #$;Long]
- [int//min ($i;long Long.MIN_VALUE) ($i;wrap #$;Long)]
- [int//max ($i;long Long.MAX_VALUE) ($i;wrap #$;Long)]
+ [int//min ($i;long Long.MIN_VALUE) #$;Long]
+ [int//max ($i;long Long.MAX_VALUE) #$;Long]
- [frac//smallest ($i;double Double.MIN_VALUE) ($i;wrap #$;Double)]
- [frac//min ($i;double (f.* -1.0 Double.MAX_VALUE)) ($i;wrap #$;Double)]
- [frac//max ($i;double Double.MAX_VALUE) ($i;wrap #$;Double)]
- [frac//not-a-number ($i;double Double.NaN) ($i;wrap #$;Double)]
- [frac//positive-infinity ($i;double Double.POSITIVE_INFINITY) ($i;wrap #$;Double)]
- [frac//negative-infinity ($i;double Double.NEGATIVE_INFINITY) ($i;wrap #$;Double)]
-
- [deg//min ($i;long 0) ($i;wrap #$;Long)]
- [deg//max ($i;long -1) ($i;wrap #$;Long)]
+ [frac//smallest ($i;double Double.MIN_VALUE) #$;Double]
+ [frac//min ($i;double (f.* -1.0 Double.MAX_VALUE)) #$;Double]
+ [frac//max ($i;double Double.MAX_VALUE) #$;Double]
+ [frac//not-a-number ($i;double Double.NaN) #$;Double]
+ [frac//positive-infinity ($i;double Double.POSITIVE_INFINITY) #$;Double]
+ [frac//negative-infinity ($i;double Double.NEGATIVE_INFINITY) #$;Double]
+
+ [deg//min ($i;long 0) #$;Long]
+ [deg//max ($i;long -1) #$;Long]
)
-(do-template [<name> <unwrap> <wrap> <op>]
+(do-template [<name> <type> <op>]
[(def: (<name> [subjectI paramI])
Binary
- (|>. subjectI <unwrap>
- paramI <unwrap>
+ (|>. subjectI ($i;unwrap <type>)
+ paramI ($i;unwrap <type>)
<op>
- <wrap>))]
+ ($i;wrap <type>)))]
- [int//add ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LADD]
- [int//sub ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LSUB]
- [int//mul ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LMUL]
- [int//div ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LDIV]
- [int//rem ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LREM]
+ [int//add #$;Long $i;LADD]
+ [int//sub #$;Long $i;LSUB]
+ [int//mul #$;Long $i;LMUL]
+ [int//div #$;Long $i;LDIV]
+ [int//rem #$;Long $i;LREM]
- [nat//add ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LADD]
- [nat//sub ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LSUB]
- [nat//mul ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LMUL]
- [nat//div ($i;unwrap #$;Long) ($i;wrap #$;Long)
- ($i;INVOKESTATIC hostL;runtime-class "div_nat" nat-method false)]
- [nat//rem ($i;unwrap #$;Long) ($i;wrap #$;Long)
- ($i;INVOKESTATIC hostL;runtime-class "rem_nat" nat-method false)]
-
- [frac//add ($i;unwrap #$;Double) ($i;wrap #$;Double) $i;DADD]
- [frac//sub ($i;unwrap #$;Double) ($i;wrap #$;Double) $i;DSUB]
- [frac//mul ($i;unwrap #$;Double) ($i;wrap #$;Double) $i;DMUL]
- [frac//div ($i;unwrap #$;Double) ($i;wrap #$;Double) $i;DDIV]
- [frac//rem ($i;unwrap #$;Double) ($i;wrap #$;Double) $i;DREM]
-
- [deg//add ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LADD]
- [deg//sub ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LSUB]
- [deg//mul ($i;unwrap #$;Long) ($i;wrap #$;Long)
- ($i;INVOKESTATIC hostL;runtime-class "mul_deg" deg-method false)]
- [deg//div ($i;unwrap #$;Long) ($i;wrap #$;Long)
- ($i;INVOKESTATIC hostL;runtime-class "div_deg" deg-method false)]
- [deg//rem ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LSUB]
- [deg//scale ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LMUL]
- [deg//reciprocal ($i;unwrap #$;Long) ($i;wrap #$;Long) $i;LDIV]
+ [nat//add #$;Long $i;LADD]
+ [nat//sub #$;Long $i;LSUB]
+ [nat//mul #$;Long $i;LMUL]
+ [nat//div #$;Long ($i;INVOKESTATIC hostL;runtime-class "div_nat" nat-method false)]
+ [nat//rem #$;Long ($i;INVOKESTATIC hostL;runtime-class "rem_nat" nat-method false)]
+
+ [frac//add #$;Double $i;DADD]
+ [frac//sub #$;Double $i;DSUB]
+ [frac//mul #$;Double $i;DMUL]
+ [frac//div #$;Double $i;DDIV]
+ [frac//rem #$;Double $i;DREM]
+
+ [deg//add #$;Long $i;LADD]
+ [deg//sub #$;Long $i;LSUB]
+ [deg//mul #$;Long ($i;INVOKESTATIC hostL;runtime-class "mul_deg" deg-method false)]
+ [deg//div #$;Long ($i;INVOKESTATIC hostL;runtime-class "div_deg" deg-method false)]
+ [deg//rem #$;Long $i;LSUB]
+ [deg//scale #$;Long $i;LMUL]
+ [deg//reciprocal #$;Long $i;LDIV]
)
(do-template [<eq> <lt> <unwrap> <cmp>]
@@ -382,11 +378,11 @@
($i;INVOKEVIRTUAL <class> <method> ($t;method (list) (#;Some <outputT>) (list)) false)
<post>))]
- [text//size "java.lang.String" "length" lux-intI $t;int]
- [text//hash "java.lang.Object" "hashCode" lux-intI $t;int]
- [text//trim "java.lang.String" "trim" id $String]
- [text//upper-case "java.lang.String" "toUpperCase" id $String]
- [text//lower-case "java.lang.String" "toLowerCase" id $String]
+ [text//size "java.lang.String" "length" lux-intI $t;int]
+ [text//hash "java.lang.Object" "hashCode" lux-intI $t;int]
+ [text//trim "java.lang.String" "trim" id $String]
+ [text//upper "java.lang.String" "toUpperCase" id $String]
+ [text//lower "java.lang.String" "toLowerCase" id $String]
)
(do-template [<name> <pre-subject> <pre-param> <op> <post>]
@@ -676,18 +672,21 @@
(def: text-procs
Bundle
- (|> (dict;new text;Hash<Text>)
- (install "text =" (binary text//eq))
- (install "text <" (binary text//lt))
- (install "text concat" (binary text//concat))
- (install "text index" (trinary text//index))
- (install "text size" (unary text//size))
- (install "text hash" (unary text//hash))
- (install "text replace-once" (trinary text//replace-once))
- (install "text replace-all" (trinary text//replace-all))
- (install "text char" (binary text//char))
- (install "text clip" (trinary text//clip))
- ))
+ (<| (prefix "text")
+ (|> (dict;new text;Hash<Text>)
+ (install "=" (binary text//eq))
+ (install "<" (binary text//lt))
+ (install "concat" (binary text//concat))
+ (install "index" (trinary text//index))
+ (install "size" (unary text//size))
+ (install "hash" (unary text//hash))
+ (install "replace-once" (trinary text//replace-once))
+ (install "replace-all" (trinary text//replace-all))
+ (install "char" (binary text//char))
+ (install "clip" (trinary text//clip))
+ (install "upper" (unary text//upper))
+ (install "lower" (unary text//lower))
+ )))
(def: array-procs
Bundle