aboutsummaryrefslogtreecommitdiff
path: root/luxc/src/lux
diff options
context:
space:
mode:
Diffstat (limited to 'luxc/src/lux')
-rw-r--r--luxc/src/lux/analyser.clj6
-rw-r--r--luxc/src/lux/analyser/base.clj2
-rw-r--r--luxc/src/lux/analyser/case.clj30
-rw-r--r--luxc/src/lux/analyser/parser.clj4
-rw-r--r--luxc/src/lux/analyser/proc/common.clj88
-rw-r--r--luxc/src/lux/base.clj6
-rw-r--r--luxc/src/lux/compiler/cache/ann.clj6
-rw-r--r--luxc/src/lux/compiler/js.clj4
-rw-r--r--luxc/src/lux/compiler/js/lux.clj4
-rw-r--r--luxc/src/lux/compiler/js/proc/common.clj82
-rw-r--r--luxc/src/lux/compiler/js/rt.clj4
-rw-r--r--luxc/src/lux/compiler/jvm.clj4
-rw-r--r--luxc/src/lux/compiler/jvm/case.clj2
-rw-r--r--luxc/src/lux/compiler/jvm/lux.clj2
-rw-r--r--luxc/src/lux/compiler/jvm/proc/common.clj78
-rw-r--r--luxc/src/lux/compiler/jvm/rt.clj8
-rw-r--r--luxc/src/lux/lexer.clj6
-rw-r--r--luxc/src/lux/optimizer.clj18
-rw-r--r--luxc/src/lux/parser.clj4
-rw-r--r--luxc/src/lux/type.clj6
-rw-r--r--luxc/src/lux/type/host.clj2
21 files changed, 183 insertions, 183 deletions
diff --git a/luxc/src/lux/analyser.clj b/luxc/src/lux/analyser.clj
index 5ea8cf64b..807a7cc68 100644
--- a/luxc/src/lux/analyser.clj
+++ b/luxc/src/lux/analyser.clj
@@ -82,9 +82,9 @@
(|do [_ (&type/check exo-type &type/Deg)]
(return (&/|list (&&/|meta exo-type cursor (&&/$deg ?value)))))
- (&/$Real ?value)
- (|do [_ (&type/check exo-type &type/Real)]
- (return (&/|list (&&/|meta exo-type cursor (&&/$real ?value)))))
+ (&/$Frac ?value)
+ (|do [_ (&type/check exo-type &type/Frac)]
+ (return (&/|list (&&/|meta exo-type cursor (&&/$frac ?value)))))
(&/$Text ?value)
(|do [_ (&type/check exo-type &type/Text)]
diff --git a/luxc/src/lux/analyser/base.clj b/luxc/src/lux/analyser/base.clj
index bfe931546..9f44db3af 100644
--- a/luxc/src/lux/analyser/base.clj
+++ b/luxc/src/lux/analyser/base.clj
@@ -10,7 +10,7 @@
("nat" 1)
("int" 1)
("deg" 1)
- ("real" 1)
+ ("frac" 1)
("text" 1)
("variant" 3)
("tuple" 1)
diff --git a/luxc/src/lux/analyser/case.clj b/luxc/src/lux/analyser/case.clj
index fa9d568d0..a8fdd6f18 100644
--- a/luxc/src/lux/analyser/case.clj
+++ b/luxc/src/lux/analyser/case.clj
@@ -16,7 +16,7 @@
("NatTotal" 2)
("IntTotal" 2)
("DegTotal" 2)
- ("RealTotal" 2)
+ ("FracTotal" 2)
("TextTotal" 2)
("TupleTotal" 2)
("VariantTotal" 2))
@@ -28,7 +28,7 @@
("NatTestAC" 1)
("IntTestAC" 1)
("DegTestAC" 1)
- ("RealTestAC" 1)
+ ("FracTestAC" 1)
("TextTestAC" 1)
("TupleTestAC" 1)
("VariantTestAC" 1))
@@ -289,10 +289,10 @@
=kont kont]
(return (&/T [($DegTestAC ?value) =kont])))
- (&/$Real ?value)
- (|do [_ (&type/check value-type &type/Real)
+ (&/$Frac ?value)
+ (|do [_ (&type/check value-type &type/Frac)
=kont kont]
- (return (&/T [($RealTestAC ?value) =kont])))
+ (return (&/T [($FracTestAC ?value) =kont])))
(&/$Text ?value)
(|do [_ (&type/check value-type &type/Text)
@@ -418,8 +418,8 @@
[($DegTotal total? ?values) ($NoTestAC)]
(return ($DegTotal true ?values))
- [($RealTotal total? ?values) ($NoTestAC)]
- (return ($RealTotal true ?values))
+ [($FracTotal total? ?values) ($NoTestAC)]
+ (return ($FracTotal true ?values))
[($TextTotal total? ?values) ($NoTestAC)]
(return ($TextTotal true ?values))
@@ -445,8 +445,8 @@
[($DegTotal total? ?values) ($StoreTestAC ?idx)]
(return ($DegTotal true ?values))
- [($RealTotal total? ?values) ($StoreTestAC ?idx)]
- (return ($RealTotal true ?values))
+ [($FracTotal total? ?values) ($StoreTestAC ?idx)]
+ (return ($FracTotal true ?values))
[($TextTotal total? ?values) ($StoreTestAC ?idx)]
(return ($TextTotal true ?values))
@@ -481,11 +481,11 @@
[($DegTotal total? ?values) ($DegTestAC ?value)]
(return ($DegTotal total? (&/$Cons ?value ?values)))
- [($DefaultTotal total?) ($RealTestAC ?value)]
- (return ($RealTotal total? (&/|list ?value)))
+ [($DefaultTotal total?) ($FracTestAC ?value)]
+ (return ($FracTotal total? (&/|list ?value)))
- [($RealTotal total? ?values) ($RealTestAC ?value)]
- (return ($RealTotal total? (&/$Cons ?value ?values)))
+ [($FracTotal total? ?values) ($FracTestAC ?value)]
+ (return ($FracTotal total? (&/$Cons ?value ?values)))
[($DefaultTotal total?) ($TextTestAC ?value)]
(return ($TextTotal total? (&/|list ?value)))
@@ -568,8 +568,8 @@
(|do [_ (&type/check value-type &type/Deg)]
(return ?total))
- ($RealTotal ?total _)
- (|do [_ (&type/check value-type &type/Real)]
+ ($FracTotal ?total _)
+ (|do [_ (&type/check value-type &type/Frac)]
(return ?total))
($TextTotal ?total _)
diff --git a/luxc/src/lux/analyser/parser.clj b/luxc/src/lux/analyser/parser.clj
index 731b5bace..c2420f21b 100644
--- a/luxc/src/lux/analyser/parser.clj
+++ b/luxc/src/lux/analyser/parser.clj
@@ -135,11 +135,11 @@
[_ (&lexer/$Int param-value*)] &lexer/lex-int]
(return (long param-value*)))
- (|do [[_ (&lexer/$Real param-value*)] &lexer/lex-real]
+ (|do [[_ (&lexer/$Frac param-value*)] &lexer/lex-frac]
(return (float param-value*)))
(|do [_ (&reader/read-text "d")
- [_ (&lexer/$Real param-value*)] &lexer/lex-real]
+ [_ (&lexer/$Frac param-value*)] &lexer/lex-frac]
(return (double param-value*)))
(|do [[_ (&lexer/$Text param-value*)] &lexer/lex-text]
diff --git a/luxc/src/lux/analyser/proc/common.clj b/luxc/src/lux/analyser/proc/common.clj
index 27af2a08d..d05c68564 100644
--- a/luxc/src/lux/analyser/proc/common.clj
+++ b/luxc/src/lux/analyser/proc/common.clj
@@ -210,13 +210,13 @@
^:private analyse-deg-eq ["deg" "="] &type/Deg &type/Bool
^:private analyse-deg-lt ["deg" "<"] &type/Deg &type/Bool
- ^:private analyse-real-add ["real" "+"] &type/Real &type/Real
- ^:private analyse-real-sub ["real" "-"] &type/Real &type/Real
- ^:private analyse-real-mul ["real" "*"] &type/Real &type/Real
- ^:private analyse-real-div ["real" "/"] &type/Real &type/Real
- ^:private analyse-real-rem ["real" "%"] &type/Real &type/Real
- ^:private analyse-real-eq ["real" "="] &type/Real &type/Bool
- ^:private analyse-real-lt ["real" "<"] &type/Real &type/Bool
+ ^:private analyse-frac-add ["frac" "+"] &type/Frac &type/Frac
+ ^:private analyse-frac-sub ["frac" "-"] &type/Frac &type/Frac
+ ^:private analyse-frac-mul ["frac" "*"] &type/Frac &type/Frac
+ ^:private analyse-frac-div ["frac" "/"] &type/Frac &type/Frac
+ ^:private analyse-frac-rem ["frac" "%"] &type/Frac &type/Frac
+ ^:private analyse-frac-eq ["frac" "="] &type/Frac &type/Bool
+ ^:private analyse-frac-lt ["frac" "<"] &type/Frac &type/Bool
)
(do-template [<name> <proc>]
@@ -251,7 +251,7 @@
(return (&/|list (&&/|meta exo-type _cursor
(&&/$proc (&/T <decode-op>) (&/|list =x) (&/|list)))))))))
- ^:private analyse-real-encode ["real" "encode"] ^:private analyse-real-decode ["real" "decode"] &type/Real
+ ^:private analyse-frac-encode ["frac" "encode"] ^:private analyse-frac-decode ["frac" "decode"] &type/Frac
)
(do-template [<name> <type> <op>]
@@ -271,12 +271,12 @@
^:private analyse-deg-min-value &type/Deg ["deg" "min-value"]
^:private analyse-deg-max-value &type/Deg ["deg" "max-value"]
- ^:private analyse-real-smallest-value &type/Real ["real" "smallest-value"]
- ^:private analyse-real-min-value &type/Real ["real" "min-value"]
- ^:private analyse-real-max-value &type/Real ["real" "max-value"]
- ^:private analyse-real-not-a-number &type/Real ["real" "not-a-number"]
- ^:private analyse-real-positive-infinity &type/Real ["real" "positive-infinity"]
- ^:private analyse-real-negative-infinity &type/Real ["real" "negative-infinity"]
+ ^:private analyse-frac-smallest-value &type/Frac ["frac" "smallest-value"]
+ ^:private analyse-frac-min-value &type/Frac ["frac" "min-value"]
+ ^:private analyse-frac-max-value &type/Frac ["frac" "max-value"]
+ ^:private analyse-frac-not-a-number &type/Frac ["frac" "not-a-number"]
+ ^:private analyse-frac-positive-infinity &type/Frac ["frac" "positive-infinity"]
+ ^:private analyse-frac-negative-infinity &type/Frac ["frac" "negative-infinity"]
)
(do-template [<name> <from-type> <to-type> <op>]
@@ -293,11 +293,11 @@
^:private analyse-nat-to-char &type/Nat &type/Text ["nat" "to-char"]
- ^:private analyse-int-to-real &type/Int &type/Real ["int" "to-real"]
- ^:private analyse-real-to-int &type/Real &type/Int ["real" "to-int"]
+ ^:private analyse-int-to-frac &type/Int &type/Frac ["int" "to-frac"]
+ ^:private analyse-frac-to-int &type/Frac &type/Int ["frac" "to-int"]
- ^:private analyse-deg-to-real &type/Deg &type/Real ["deg" "to-real"]
- ^:private analyse-real-to-deg &type/Real &type/Deg ["real" "to-deg"]
+ ^:private analyse-deg-to-frac &type/Deg &type/Frac ["deg" "to-frac"]
+ ^:private analyse-frac-to-deg &type/Frac &type/Deg ["frac" "to-deg"]
^:private analyse-io-log &type/Text &/$Unit ["io" "log"]
^:private analyse-io-error &type/Text &type/Bottom ["io" "error"]
@@ -368,7 +368,7 @@
(do-template [<name> <proc>]
(defn <name> [analyse exo-type ?values]
(|do [:let [(&/$Nil) ?values]
- _ (&type/check exo-type &type/Real)
+ _ (&type/check exo-type &type/Frac)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
(&&/$proc (&/T ["math" <proc>]) (&/|list) (&/|list)))))))
@@ -380,8 +380,8 @@
(do-template [<name> <proc>]
(defn <name> [analyse exo-type ?values]
(|do [:let [(&/$Cons ?input (&/$Nil)) ?values]
- =input (&&/analyse-1 analyse &type/Real ?input)
- _ (&type/check exo-type &type/Real)
+ =input (&&/analyse-1 analyse &type/Frac ?input)
+ _ (&type/check exo-type &type/Frac)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
(&&/$proc (&/T ["math" <proc>]) (&/|list =input) (&/|list)))))))
@@ -407,9 +407,9 @@
(do-template [<name> <proc>]
(defn <name> [analyse exo-type ?values]
(|do [:let [(&/$Cons ?input (&/$Cons ?param (&/$Nil))) ?values]
- =input (&&/analyse-1 analyse &type/Real ?input)
- =param (&&/analyse-1 analyse &type/Real ?param)
- _ (&type/check exo-type &type/Real)
+ =input (&&/analyse-1 analyse &type/Frac ?input)
+ =param (&&/analyse-1 analyse &type/Frac ?param)
+ _ (&type/check exo-type &type/Frac)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
(&&/$proc (&/T ["math" <proc>]) (&/|list =input =param) (&/|list)))))))
@@ -552,7 +552,7 @@
"min-value" (analyse-int-min-value analyse exo-type ?values)
"max-value" (analyse-int-max-value analyse exo-type ?values)
"to-nat" (analyse-int-to-nat analyse exo-type ?values)
- "to-real" (analyse-int-to-real analyse exo-type ?values)
+ "to-frac" (analyse-int-to-frac analyse exo-type ?values)
)
"deg"
@@ -566,30 +566,30 @@
"<" (analyse-deg-lt analyse exo-type ?values)
"min-value" (analyse-deg-min-value analyse exo-type ?values)
"max-value" (analyse-deg-max-value analyse exo-type ?values)
- "to-real" (analyse-deg-to-real analyse exo-type ?values)
+ "to-frac" (analyse-deg-to-frac analyse exo-type ?values)
"scale" (analyse-deg-scale analyse exo-type ?values)
"reciprocal" (analyse-deg-reciprocal analyse exo-type ?values)
)
- "real"
+ "frac"
(case proc
- "+" (analyse-real-add analyse exo-type ?values)
- "-" (analyse-real-sub analyse exo-type ?values)
- "*" (analyse-real-mul analyse exo-type ?values)
- "/" (analyse-real-div analyse exo-type ?values)
- "%" (analyse-real-rem analyse exo-type ?values)
- "=" (analyse-real-eq analyse exo-type ?values)
- "<" (analyse-real-lt analyse exo-type ?values)
- "encode" (analyse-real-encode analyse exo-type ?values)
- "decode" (analyse-real-decode analyse exo-type ?values)
- "smallest-value" (analyse-real-smallest-value analyse exo-type ?values)
- "min-value" (analyse-real-min-value analyse exo-type ?values)
- "max-value" (analyse-real-max-value analyse exo-type ?values)
- "not-a-number" (analyse-real-not-a-number analyse exo-type ?values)
- "positive-infinity" (analyse-real-positive-infinity analyse exo-type ?values)
- "negative-infinity" (analyse-real-negative-infinity analyse exo-type ?values)
- "to-deg" (analyse-real-to-deg analyse exo-type ?values)
- "to-int" (analyse-real-to-int analyse exo-type ?values)
+ "+" (analyse-frac-add analyse exo-type ?values)
+ "-" (analyse-frac-sub analyse exo-type ?values)
+ "*" (analyse-frac-mul analyse exo-type ?values)
+ "/" (analyse-frac-div analyse exo-type ?values)
+ "%" (analyse-frac-rem analyse exo-type ?values)
+ "=" (analyse-frac-eq analyse exo-type ?values)
+ "<" (analyse-frac-lt analyse exo-type ?values)
+ "encode" (analyse-frac-encode analyse exo-type ?values)
+ "decode" (analyse-frac-decode analyse exo-type ?values)
+ "smallest-value" (analyse-frac-smallest-value analyse exo-type ?values)
+ "min-value" (analyse-frac-min-value analyse exo-type ?values)
+ "max-value" (analyse-frac-max-value analyse exo-type ?values)
+ "not-a-number" (analyse-frac-not-a-number analyse exo-type ?values)
+ "positive-infinity" (analyse-frac-positive-infinity analyse exo-type ?values)
+ "negative-infinity" (analyse-frac-negative-infinity analyse exo-type ?values)
+ "to-deg" (analyse-frac-to-deg analyse exo-type ?values)
+ "to-int" (analyse-frac-to-int analyse exo-type ?values)
)
"math"
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj
index 8a7378586..172ade295 100644
--- a/luxc/src/lux/base.clj
+++ b/luxc/src/lux/base.clj
@@ -75,7 +75,7 @@
("Nat" 1)
("Int" 1)
("Deg" 1)
- ("Real" 1)
+ ("Frac" 1)
("Text" 1)
("Symbol" 1)
("Tag" 1)
@@ -221,7 +221,7 @@
("NatA" 1)
("IntA" 1)
("DegA" 1)
- ("RealA" 1)
+ ("FracA" 1)
("TextA" 1)
("IdentA" 1)
("ListA" 1)
@@ -1217,7 +1217,7 @@
[_ ($Deg ?value)]
(encode-deg ?value)
- [_ ($Real ?value)]
+ [_ ($Frac ?value)]
(pr-str ?value)
[_ ($Text ?value)]
diff --git a/luxc/src/lux/compiler/cache/ann.clj b/luxc/src/lux/compiler/cache/ann.clj
index 35a41f247..6ee941bf8 100644
--- a/luxc/src/lux/compiler/cache/ann.clj
+++ b/luxc/src/lux/compiler/cache/ann.clj
@@ -40,7 +40,7 @@
(&/$DegA value)
(str "D" value stop)
- (&/$RealA value)
+ (&/$FracA value)
(str "R" value stop)
(&/$TextA value)
@@ -84,7 +84,7 @@
^:private deserialize-nat "N" &/$NatA Long/parseLong
^:private deserialize-int "I" &/$IntA Long/parseLong
^:private deserialize-deg "D" &/$DegA Long/parseLong
- ^:private deserialize-real "R" &/$RealA Double/parseDouble
+ ^:private deserialize-frac "R" &/$FracA Double/parseDouble
^:private deserialize-text "T" &/$TextA identity
)
@@ -138,7 +138,7 @@
(deserialize-nat input)
(deserialize-int input)
(deserialize-deg input)
- (deserialize-real input)
+ (deserialize-frac input)
(deserialize-text input)
(deserialize-ident input)
(deserialize-list input)
diff --git a/luxc/src/lux/compiler/js.clj b/luxc/src/lux/compiler/js.clj
index b618b7b1b..6eff83688 100644
--- a/luxc/src/lux/compiler/js.clj
+++ b/luxc/src/lux/compiler/js.clj
@@ -48,8 +48,8 @@
(&o/$deg ?value)
(&&lux/compile-deg ?value)
- (&o/$real ?value)
- (&&lux/compile-real ?value)
+ (&o/$frac ?value)
+ (&&lux/compile-frac ?value)
(&o/$text ?value)
(&&lux/compile-text ?value)
diff --git a/luxc/src/lux/compiler/js/lux.clj b/luxc/src/lux/compiler/js/lux.clj
index 593055b8b..0be8f1cae 100644
--- a/luxc/src/lux/compiler/js/lux.clj
+++ b/luxc/src/lux/compiler/js/lux.clj
@@ -42,7 +42,7 @@
compile-deg
)
-(defn compile-real [value]
+(defn compile-frac [value]
(return (str value)))
(defn compile-char [value]
@@ -189,7 +189,7 @@
(|do [=value (compile-deg _value)]
(return (str "if(!" (str "LuxRT$eqI64(" cursor-peek "," =value ")") ") { " pm-fail " }")))
- (&o/$RealPM _value)
+ (&o/$FracPM _value)
(return (str "if(" cursor-peek " !== " _value ") { " pm-fail " }"))
(&o/$TextPM _value)
diff --git a/luxc/src/lux/compiler/js/proc/common.clj b/luxc/src/lux/compiler/js/proc/common.clj
index 871f5e15b..a45bc2993 100644
--- a/luxc/src/lux/compiler/js/proc/common.clj
+++ b/luxc/src/lux/compiler/js/proc/common.clj
@@ -132,13 +132,13 @@
=y (compile ?y)]
(return (str "(" =x " " <opcode> " " =y ")"))))
- ^:private compile-real-add "+"
- ^:private compile-real-sub "-"
- ^:private compile-real-mul "*"
- ^:private compile-real-div "/"
- ^:private compile-real-rem "%"
- ^:private compile-real-eq "==="
- ^:private compile-real-lt "<"
+ ^:private compile-frac-add "+"
+ ^:private compile-frac-sub "-"
+ ^:private compile-frac-mul "*"
+ ^:private compile-frac-div "/"
+ ^:private compile-frac-rem "%"
+ ^:private compile-frac-eq "==="
+ ^:private compile-frac-lt "<"
)
(do-template [<name> <method>]
@@ -148,7 +148,7 @@
(return (str "LuxRT$" <method> "(" =x ")"))
))
- ^:private compile-real-decode "decodeReal"
+ ^:private compile-frac-decode "decodeFrac"
)
(do-template [<name> <compiler> <value>]
@@ -165,16 +165,16 @@
^:private compile-deg-min-value &&lux/compile-deg 0
^:private compile-deg-max-value &&lux/compile-deg -1
- ^:private compile-real-smallest-value &&lux/compile-real Double/MIN_VALUE
- ^:private compile-real-min-value &&lux/compile-real (* -1.0 Double/MAX_VALUE)
- ^:private compile-real-max-value &&lux/compile-real Double/MAX_VALUE
+ ^:private compile-frac-smallest-value &&lux/compile-frac Double/MIN_VALUE
+ ^:private compile-frac-min-value &&lux/compile-frac (* -1.0 Double/MAX_VALUE)
+ ^:private compile-frac-max-value &&lux/compile-frac Double/MAX_VALUE
- ^:private compile-real-not-a-number &&lux/compile-real "NaN"
- ^:private compile-real-positive-infinity &&lux/compile-real "Infinity"
- ^:private compile-real-negative-infinity &&lux/compile-real "-Infinity"
+ ^:private compile-frac-not-a-number &&lux/compile-frac "NaN"
+ ^:private compile-frac-positive-infinity &&lux/compile-frac "Infinity"
+ ^:private compile-frac-negative-infinity &&lux/compile-frac "-Infinity"
)
-(defn ^:private compile-real-encode [compile ?values special-args]
+(defn ^:private compile-frac-encode [compile ?values special-args]
(|do [:let [(&/$Cons ?x (&/$Nil)) ?values]
=x (compile ?x)]
(return (str "(" =x ")" ".toString()"))))
@@ -188,25 +188,25 @@
^:private compile-int-to-nat
)
-(defn ^:private compile-int-to-real [compile ?values special-args]
+(defn ^:private compile-int-to-frac [compile ?values special-args]
(|do [:let [(&/$Cons ?x (&/$Nil)) ?values]
=x (compile ?x)]
(return (str "LuxRT$toNumberI64(" =x ")"))))
-(defn ^:private compile-real-to-int [compile ?values special-args]
+(defn ^:private compile-frac-to-int [compile ?values special-args]
(|do [:let [(&/$Cons ?x (&/$Nil)) ?values]
=x (compile ?x)]
(return (str "LuxRT$fromNumberI64(" =x ")"))))
-(defn ^:private compile-deg-to-real [compile ?values special-args]
+(defn ^:private compile-deg-to-frac [compile ?values special-args]
(|do [:let [(&/$Cons ?x (&/$Nil)) ?values]
=x (compile ?x)]
- (return (str "LuxRT$degToReal(" =x ")"))))
+ (return (str "LuxRT$degToFrac(" =x ")"))))
-(defn ^:private compile-real-to-deg [compile ?values special-args]
+(defn ^:private compile-frac-to-deg [compile ?values special-args]
(|do [:let [(&/$Cons ?x (&/$Nil)) ?values]
=x (compile ?x)]
- (return (str "LuxRT$realToDeg(" =x ")"))))
+ (return (str "LuxRT$fracToDeg(" =x ")"))))
(do-template [<name> <op>]
(defn <name> [compile ?values special-args]
@@ -505,7 +505,7 @@
"max-value" (compile-int-max-value compile ?values special-args)
"min-value" (compile-int-min-value compile ?values special-args)
"to-nat" (compile-int-to-nat compile ?values special-args)
- "to-real" (compile-int-to-real compile ?values special-args)
+ "to-frac" (compile-int-to-frac compile ?values special-args)
)
"deg"
@@ -519,30 +519,30 @@
"<" (compile-deg-lt compile ?values special-args)
"max-value" (compile-deg-max-value compile ?values special-args)
"min-value" (compile-deg-min-value compile ?values special-args)
- "to-real" (compile-deg-to-real compile ?values special-args)
+ "to-frac" (compile-deg-to-frac compile ?values special-args)
"scale" (compile-deg-scale compile ?values special-args)
"reciprocal" (compile-deg-reciprocal compile ?values special-args)
)
- "real"
+ "frac"
(case proc
- "+" (compile-real-add compile ?values special-args)
- "-" (compile-real-sub compile ?values special-args)
- "*" (compile-real-mul compile ?values special-args)
- "/" (compile-real-div compile ?values special-args)
- "%" (compile-real-rem compile ?values special-args)
- "=" (compile-real-eq compile ?values special-args)
- "<" (compile-real-lt compile ?values special-args)
- "encode" (compile-real-encode compile ?values special-args)
- "decode" (compile-real-decode compile ?values special-args)
- "smallest-value" (compile-real-smallest-value compile ?values special-args)
- "max-value" (compile-real-max-value compile ?values special-args)
- "min-value" (compile-real-min-value compile ?values special-args)
- "not-a-number" (compile-real-not-a-number compile ?values special-args)
- "positive-infinity" (compile-real-positive-infinity compile ?values special-args)
- "negative-infinity" (compile-real-negative-infinity compile ?values special-args)
- "to-deg" (compile-real-to-deg compile ?values special-args)
- "to-int" (compile-real-to-int compile ?values special-args)
+ "+" (compile-frac-add compile ?values special-args)
+ "-" (compile-frac-sub compile ?values special-args)
+ "*" (compile-frac-mul compile ?values special-args)
+ "/" (compile-frac-div compile ?values special-args)
+ "%" (compile-frac-rem compile ?values special-args)
+ "=" (compile-frac-eq compile ?values special-args)
+ "<" (compile-frac-lt compile ?values special-args)
+ "encode" (compile-frac-encode compile ?values special-args)
+ "decode" (compile-frac-decode compile ?values special-args)
+ "smallest-value" (compile-frac-smallest-value compile ?values special-args)
+ "max-value" (compile-frac-max-value compile ?values special-args)
+ "min-value" (compile-frac-min-value compile ?values special-args)
+ "not-a-number" (compile-frac-not-a-number compile ?values special-args)
+ "positive-infinity" (compile-frac-positive-infinity compile ?values special-args)
+ "negative-infinity" (compile-frac-negative-infinity compile ?values special-args)
+ "to-deg" (compile-frac-to-deg compile ?values special-args)
+ "to-int" (compile-frac-to-int compile ?values special-args)
)
"char"
diff --git a/luxc/src/lux/compiler/js/rt.clj b/luxc/src/lux/compiler/js/rt.clj
index 838598bbb..04ee6fc69 100644
--- a/luxc/src/lux/compiler/js/rt.clj
+++ b/luxc/src/lux/compiler/js/rt.clj
@@ -637,13 +637,13 @@
"return LuxRT$shlI64(LuxRT$divI64(l,LuxRT$fromNumberI64(r.H)),32);"
"}")
"})")
- "degToReal" (str "(function LuxRT$degToReal(input) {"
+ "degToFrac" (str "(function LuxRT$degToFrac(input) {"
"var two32 = Math.pow(2,32);"
"var high = input.H / two32;"
"var low = (input.L / two32) / two32;"
"return high+low;"
"})")
- "realToDeg" (str "(function LuxRT$realToDeg(input) {"
+ "fracToDeg" (str "(function LuxRT$fracToDeg(input) {"
"var two32 = Math.pow(2,32);"
"var shifted = (input % 1.0) * two32;"
"var low = ((shifted % 1.0) * two32) | 0;"
diff --git a/luxc/src/lux/compiler/jvm.clj b/luxc/src/lux/compiler/jvm.clj
index 5c11c0c6d..e54f92d91 100644
--- a/luxc/src/lux/compiler/jvm.clj
+++ b/luxc/src/lux/compiler/jvm.clj
@@ -59,8 +59,8 @@
(&o/$deg ?value)
(&&lux/compile-deg ?value)
- (&o/$real ?value)
- (&&lux/compile-real ?value)
+ (&o/$frac ?value)
+ (&&lux/compile-frac ?value)
(&o/$text ?value)
(&&lux/compile-text ?value)
diff --git a/luxc/src/lux/compiler/jvm/case.clj b/luxc/src/lux/compiler/jvm/case.clj
index c205381e8..38f3ad4fc 100644
--- a/luxc/src/lux/compiler/jvm/case.clj
+++ b/luxc/src/lux/compiler/jvm/case.clj
@@ -93,7 +93,7 @@
(.visitInsn Opcodes/LCMP)
(.visitJumpInsn Opcodes/IFNE $else))
- (&o/$RealPM _value)
+ (&o/$FracPM _value)
(doto writer
stack-peek
&&/unwrap-double
diff --git a/luxc/src/lux/compiler/jvm/lux.clj b/luxc/src/lux/compiler/jvm/lux.clj
index 123676d35..99e55c3a0 100644
--- a/luxc/src/lux/compiler/jvm/lux.clj
+++ b/luxc/src/lux/compiler/jvm/lux.clj
@@ -40,7 +40,7 @@
compile-nat "java/lang/Long" "J" long
compile-int "java/lang/Long" "J" long
compile-deg "java/lang/Long" "J" long
- compile-real "java/lang/Double" "D" double
+ compile-frac "java/lang/Double" "D" double
)
(defn compile-text [?value]
diff --git a/luxc/src/lux/compiler/jvm/proc/common.clj b/luxc/src/lux/compiler/jvm/proc/common.clj
index 7c44f3434..757f66afd 100644
--- a/luxc/src/lux/compiler/jvm/proc/common.clj
+++ b/luxc/src/lux/compiler/jvm/proc/common.clj
@@ -218,11 +218,11 @@
^:private compile-deg-scale Opcodes/LMUL &&/unwrap-long &&/wrap-long
^:private compile-deg-reciprocal Opcodes/LDIV &&/unwrap-long &&/wrap-long
- ^:private compile-real-add Opcodes/DADD &&/unwrap-double &&/wrap-double
- ^:private compile-real-sub Opcodes/DSUB &&/unwrap-double &&/wrap-double
- ^:private compile-real-mul Opcodes/DMUL &&/unwrap-double &&/wrap-double
- ^:private compile-real-div Opcodes/DDIV &&/unwrap-double &&/wrap-double
- ^:private compile-real-rem Opcodes/DREM &&/unwrap-double &&/wrap-double
+ ^:private compile-frac-add Opcodes/DADD &&/unwrap-double &&/wrap-double
+ ^:private compile-frac-sub Opcodes/DSUB &&/unwrap-double &&/wrap-double
+ ^:private compile-frac-mul Opcodes/DMUL &&/unwrap-double &&/wrap-double
+ ^:private compile-frac-div Opcodes/DDIV &&/unwrap-double &&/wrap-double
+ ^:private compile-frac-rem Opcodes/DREM &&/unwrap-double &&/wrap-double
)
(do-template [<name> <comp-method>]
@@ -270,8 +270,8 @@
^:private compile-int-eq Opcodes/LCMP 0 &&/unwrap-long
^:private compile-int-lt Opcodes/LCMP -1 &&/unwrap-long
- ^:private compile-real-eq Opcodes/DCMPG 0 &&/unwrap-double
- ^:private compile-real-lt Opcodes/DCMPG -1 &&/unwrap-double
+ ^:private compile-frac-eq Opcodes/DCMPG 0 &&/unwrap-double
+ ^:private compile-frac-lt Opcodes/DCMPG -1 &&/unwrap-double
)
(do-template [<name> <cmp-output>]
@@ -343,13 +343,13 @@
^:private compile-deg-min-value (.visitLdcInsn 0) &&/wrap-long
^:private compile-deg-max-value (.visitLdcInsn -1) &&/wrap-long
- ^:private compile-real-smallest-value (.visitLdcInsn Double/MIN_VALUE) &&/wrap-double
- ^:private compile-real-min-value (.visitLdcInsn (* -1.0 Double/MAX_VALUE)) &&/wrap-double
- ^:private compile-real-max-value (.visitLdcInsn Double/MAX_VALUE) &&/wrap-double
+ ^:private compile-frac-smallest-value (.visitLdcInsn Double/MIN_VALUE) &&/wrap-double
+ ^:private compile-frac-min-value (.visitLdcInsn (* -1.0 Double/MAX_VALUE)) &&/wrap-double
+ ^:private compile-frac-max-value (.visitLdcInsn Double/MAX_VALUE) &&/wrap-double
- ^:private compile-real-not-a-number (.visitLdcInsn Double/NaN) &&/wrap-double
- ^:private compile-real-positive-infinity (.visitLdcInsn Double/POSITIVE_INFINITY) &&/wrap-double
- ^:private compile-real-negative-infinity (.visitLdcInsn Double/NEGATIVE_INFINITY) &&/wrap-double
+ ^:private compile-frac-not-a-number (.visitLdcInsn Double/NaN) &&/wrap-double
+ ^:private compile-frac-positive-infinity (.visitLdcInsn Double/POSITIVE_INFINITY) &&/wrap-double
+ ^:private compile-frac-negative-infinity (.visitLdcInsn Double/NEGATIVE_INFINITY) &&/wrap-double
)
(do-template [<name> <class> <signature> <unwrap>]
@@ -362,7 +362,7 @@
(.visitMethodInsn Opcodes/INVOKESTATIC <class> "toString" <signature>))]]
(return nil)))
- ^:private compile-real-encode "java/lang/Double" "(D)Ljava/lang/String;" &&/unwrap-double
+ ^:private compile-frac-encode "java/lang/Double" "(D)Ljava/lang/String;" &&/unwrap-double
)
@@ -377,7 +377,7 @@
(return nil)))
^:private compile-int-decode "decode_int"
- ^:private compile-real-decode "decode_real"
+ ^:private compile-frac-decode "decode_frac"
)
(do-template [<name> <method>]
@@ -411,8 +411,8 @@
<wrap>)]]
(return nil))))
- ^:private compile-deg-to-real "java.lang.Long" "deg-to-real" "(J)D" &&/unwrap-long &&/wrap-double
- ^:private compile-real-to-deg "java.lang.Double" "real-to-deg" "(D)J" &&/unwrap-double &&/wrap-long
+ ^:private compile-deg-to-frac "java.lang.Long" "deg-to-frac" "(J)D" &&/unwrap-long &&/wrap-double
+ ^:private compile-frac-to-deg "java.lang.Double" "frac-to-deg" "(D)J" &&/unwrap-double &&/wrap-long
)
(defn ^:private compile-nat-to-char [compile ?values special-args]
@@ -448,8 +448,8 @@
<wrap>)]]
(return nil)))
- ^:private compile-real-to-int &&/unwrap-double Opcodes/D2L &&/wrap-long
- ^:private compile-int-to-real &&/unwrap-long Opcodes/L2D &&/wrap-double
+ ^:private compile-frac-to-int &&/unwrap-double Opcodes/D2L &&/wrap-long
+ ^:private compile-int-to-frac &&/unwrap-long Opcodes/L2D &&/wrap-double
)
(defn ^:private compile-text-eq [compile ?values special-args]
@@ -883,7 +883,7 @@
"<" (compile-deg-lt compile ?values special-args)
"max-value" (compile-deg-max-value compile ?values special-args)
"min-value" (compile-deg-min-value compile ?values special-args)
- "to-real" (compile-deg-to-real compile ?values special-args)
+ "to-frac" (compile-deg-to-frac compile ?values special-args)
"scale" (compile-deg-scale compile ?values special-args)
"reciprocal" (compile-deg-reciprocal compile ?values special-args)
)
@@ -900,28 +900,28 @@
"max-value" (compile-int-max-value compile ?values special-args)
"min-value" (compile-int-min-value compile ?values special-args)
"to-nat" (compile-int-to-nat compile ?values special-args)
- "to-real" (compile-int-to-real compile ?values special-args)
+ "to-frac" (compile-int-to-frac compile ?values special-args)
)
- "real"
+ "frac"
(case proc
- "+" (compile-real-add compile ?values special-args)
- "-" (compile-real-sub compile ?values special-args)
- "*" (compile-real-mul compile ?values special-args)
- "/" (compile-real-div compile ?values special-args)
- "%" (compile-real-rem compile ?values special-args)
- "=" (compile-real-eq compile ?values special-args)
- "<" (compile-real-lt compile ?values special-args)
- "smallest-value" (compile-real-smallest-value compile ?values special-args)
- "max-value" (compile-real-max-value compile ?values special-args)
- "min-value" (compile-real-min-value compile ?values special-args)
- "not-a-number" (compile-real-not-a-number compile ?values special-args)
- "positive-infinity" (compile-real-positive-infinity compile ?values special-args)
- "negative-infinity" (compile-real-negative-infinity compile ?values special-args)
- "to-int" (compile-real-to-int compile ?values special-args)
- "to-deg" (compile-real-to-deg compile ?values special-args)
- "encode" (compile-real-encode compile ?values special-args)
- "decode" (compile-real-decode compile ?values special-args)
+ "+" (compile-frac-add compile ?values special-args)
+ "-" (compile-frac-sub compile ?values special-args)
+ "*" (compile-frac-mul compile ?values special-args)
+ "/" (compile-frac-div compile ?values special-args)
+ "%" (compile-frac-rem compile ?values special-args)
+ "=" (compile-frac-eq compile ?values special-args)
+ "<" (compile-frac-lt compile ?values special-args)
+ "smallest-value" (compile-frac-smallest-value compile ?values special-args)
+ "max-value" (compile-frac-max-value compile ?values special-args)
+ "min-value" (compile-frac-min-value compile ?values special-args)
+ "not-a-number" (compile-frac-not-a-number compile ?values special-args)
+ "positive-infinity" (compile-frac-positive-infinity compile ?values special-args)
+ "negative-infinity" (compile-frac-negative-infinity compile ?values special-args)
+ "to-int" (compile-frac-to-int compile ?values special-args)
+ "to-deg" (compile-frac-to-deg compile ?values special-args)
+ "encode" (compile-frac-encode compile ?values special-args)
+ "decode" (compile-frac-decode compile ?values special-args)
)
"math"
diff --git a/luxc/src/lux/compiler/jvm/rt.clj b/luxc/src/lux/compiler/jvm/rt.clj
index b2670b9ef..83f02af3e 100644
--- a/luxc/src/lux/compiler/jvm/rt.clj
+++ b/luxc/src/lux/compiler/jvm/rt.clj
@@ -416,7 +416,7 @@
(.visitInsn Opcodes/LRETURN)
(.visitMaxs 0 0)
(.visitEnd)))
- _ (doto (.visitMethod =class (+ Opcodes/ACC_PUBLIC Opcodes/ACC_STATIC) "deg-to-real" "(J)D" nil nil)
+ _ (doto (.visitMethod =class (+ Opcodes/ACC_PUBLIC Opcodes/ACC_STATIC) "deg-to-frac" "(J)D" nil nil)
(.visitCode)
;; Translate high bytes
(.visitVarInsn Opcodes/LLOAD 0) high-4b
@@ -435,7 +435,7 @@
(.visitInsn Opcodes/DRETURN)
(.visitMaxs 0 0)
(.visitEnd))
- _ (doto (.visitMethod =class (+ Opcodes/ACC_PUBLIC Opcodes/ACC_STATIC) "real-to-deg" "(D)J" nil nil)
+ _ (doto (.visitMethod =class (+ Opcodes/ACC_PUBLIC Opcodes/ACC_STATIC) "frac-to-deg" "(D)J" nil nil)
(.visitCode)
;; Drop any excess
(.visitVarInsn Opcodes/DLOAD 0)
@@ -619,7 +619,7 @@
nil))
^:private compile-LuxRT-int-methods "decode_int" "java/lang/Long" "parseLong" "(Ljava/lang/String;)J" &&/wrap-long
- ^:private compile-LuxRT-real-methods "decode_real" "java/lang/Double" "parseDouble" "(Ljava/lang/String;)D" &&/wrap-double
+ ^:private compile-LuxRT-frac-methods "decode_frac" "java/lang/Double" "parseDouble" "(Ljava/lang/String;)D" &&/wrap-double
)
(defn ^:private compile-LuxRT-pm-methods [^ClassWriter =class]
@@ -889,7 +889,7 @@
(compile-LuxRT-nat-methods)
(compile-LuxRT-int-methods)
(compile-LuxRT-deg-methods)
- (compile-LuxRT-real-methods)
+ (compile-LuxRT-frac-methods)
(compile-LuxRT-text-methods)
(compile-LuxRT-process-methods))]]
(&&/save-class! (second (string/split &&/lux-utils-class #"/"))
diff --git a/luxc/src/lux/lexer.clj b/luxc/src/lux/lexer.clj
index dbdeef6a8..65a99de6a 100644
--- a/luxc/src/lux/lexer.clj
+++ b/luxc/src/lux/lexer.clj
@@ -13,7 +13,7 @@
("Nat" 1)
("Int" 1)
("Deg" 1)
- ("Real" 1)
+ ("Frac" 1)
("Text" 1)
("Symbol" 1)
("Tag" 1)
@@ -141,7 +141,7 @@
lex-nat $Nat #"^\+(0|[1-9][0-9_]*)"
lex-int $Int #"^-?(0|[1-9][0-9_]*)"
lex-deg $Deg #"^(\.[0-9_]+)"
- lex-real $Real #"^-?(0\.[0-9_]+|[1-9][0-9_]*\.[0-9_]+)(e-?[1-9][0-9_]*)?"
+ lex-frac $Frac #"^-?(0\.[0-9_]+|[1-9][0-9_]*\.[0-9_]+)(e-?[1-9][0-9_]*)?"
)
(def ^:private lex-ident
@@ -205,7 +205,7 @@
lex-comment
lex-bool
lex-nat
- lex-real
+ lex-frac
lex-deg
lex-int
lex-text
diff --git a/luxc/src/lux/optimizer.clj b/luxc/src/lux/optimizer.clj
index 107435f92..72dd1e4a5 100644
--- a/luxc/src/lux/optimizer.clj
+++ b/luxc/src/lux/optimizer.clj
@@ -10,7 +10,7 @@
("nat" 1)
("int" 1)
("deg" 1)
- ("real" 1)
+ ("frac" 1)
("text" 1)
("variant" 3)
("tuple" 1)
@@ -73,8 +73,8 @@
("IntPM" 1)
;; Compare the CDN with a degree value.
("DegPM" 1)
- ;; Compare the CDN with a real value.
- ("RealPM" 1)
+ ;; Compare the CDN with a frac value.
+ ("FracPM" 1)
;; Compare the CDN with a text value.
("TextPM" 1)
;; Compare the CDN with a variant value. If valid, proceed to test
@@ -190,8 +190,8 @@
(&/|list ($DegPM _value)
$PopPM)
- (&a-case/$RealTestAC _value)
- (&/|list ($RealPM _value)
+ (&a-case/$FracTestAC _value)
+ (&/|list ($FracPM _value)
$PopPM)
(&a-case/$TextTestAC _value)
@@ -295,9 +295,9 @@
($DegPM _pre-value)
($AltPM pre post))
- [($RealPM _pre-value) ($RealPM _post-value)]
+ [($FracPM _pre-value) ($FracPM _post-value)]
(if (= _pre-value _post-value)
- ($RealPM _pre-value)
+ ($FracPM _pre-value)
($AltPM pre post))
[($TextPM _pre-value) ($TextPM _post-value)]
@@ -1013,8 +1013,8 @@
(&a/$deg value)
(&/T [meta ($deg value)])
- (&a/$real value)
- (&/T [meta ($real value)])
+ (&a/$frac value)
+ (&/T [meta ($frac value)])
(&a/$text value)
(&/T [meta ($text value)])
diff --git a/luxc/src/lux/parser.clj b/luxc/src/lux/parser.clj
index 7c9076aee..6bc2190a7 100644
--- a/luxc/src/lux/parser.clj
+++ b/luxc/src/lux/parser.clj
@@ -76,8 +76,8 @@
(&lexer/$Deg ?value)
(return (&/|list (&/T [meta (&/$Deg (&/decode-deg ?value))])))
- (&lexer/$Real ?value)
- (return (&/|list (&/T [meta (&/$Real (Double/parseDouble ?value))])))
+ (&lexer/$Frac ?value)
+ (return (&/|list (&/T [meta (&/$Frac (Double/parseDouble ?value))])))
(&lexer/$Text ?value)
(return (&/|list (&/T [meta (&/$Text ?value)])))
diff --git a/luxc/src/lux/type.clj b/luxc/src/lux/type.clj
index e6cc86fff..dd7a49610 100644
--- a/luxc/src/lux/type.clj
+++ b/luxc/src/lux/type.clj
@@ -27,7 +27,7 @@
(def Nat (&/$Named (&/T ["lux" "Nat"]) (&/$Host &&host/nat-data-tag &/$Nil)))
(def Deg (&/$Named (&/T ["lux" "Deg"]) (&/$Host &&host/deg-data-tag &/$Nil)))
(def Int (&/$Named (&/T ["lux" "Int"]) (&/$Host "#Int" &/$Nil)))
-(def Real (&/$Named (&/T ["lux" "Real"]) (&/$Host "#Real" &/$Nil)))
+(def Frac (&/$Named (&/T ["lux" "Frac"]) (&/$Host "#Frac" &/$Nil)))
(def Text (&/$Named (&/T ["lux" "Text"]) (&/$Host "#Text" &/$Nil)))
(def Ident (&/$Named (&/T ["lux" "Ident"]) (&/$Product Text Text)))
@@ -140,8 +140,8 @@
;; DegA
Deg
(&/$Sum
- ;; RealA
- Real
+ ;; FracA
+ Frac
(&/$Sum
;; TextA
Text
diff --git a/luxc/src/lux/type/host.clj b/luxc/src/lux/type/host.clj
index 7d894b4df..82f14812d 100644
--- a/luxc/src/lux/type/host.clj
+++ b/luxc/src/lux/type/host.clj
@@ -255,7 +255,7 @@
(def ^:private lux-jvm-type-combos
#{#{"java.lang.Boolean" "#Bool"}
#{"java.lang.Long" "#Int"}
- #{"java.lang.Double" "#Real"}
+ #{"java.lang.Double" "#Frac"}
#{"java.lang.Character" "#Char"}
#{"java.lang.String" "#Text"}})