aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
Diffstat (limited to '')
-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/base.clj78
-rw-r--r--luxc/src/lux/compiler/cache/ann.clj6
-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/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.clj8
-rw-r--r--luxc/src/lux/type/host.clj2
13 files changed, 84 insertions, 84 deletions
diff --git a/luxc/src/lux/analyser.clj b/luxc/src/lux/analyser.clj
index 641dfa947..56cb8a375 100644
--- a/luxc/src/lux/analyser.clj
+++ b/luxc/src/lux/analyser.clj
@@ -77,9 +77,9 @@
(|do [_ (&type/check exo-type &type/Int)]
(return (&/|list (&&/|meta exo-type cursor (&&/$int ?value)))))
- (&/$Deg ?value)
- (|do [_ (&type/check exo-type &type/Deg)]
- (return (&/|list (&&/|meta exo-type cursor (&&/$deg ?value)))))
+ (&/$Rev ?value)
+ (|do [_ (&type/check exo-type &type/Rev)]
+ (return (&/|list (&&/|meta exo-type cursor (&&/$rev ?value)))))
(&/$Frac ?value)
(|do [_ (&type/check exo-type &type/Frac)]
diff --git a/luxc/src/lux/analyser/base.clj b/luxc/src/lux/analyser/base.clj
index 5339f8777..25b73ba1a 100644
--- a/luxc/src/lux/analyser/base.clj
+++ b/luxc/src/lux/analyser/base.clj
@@ -9,7 +9,7 @@
("bool" 1)
("nat" 1)
("int" 1)
- ("deg" 1)
+ ("rev" 1)
("frac" 1)
("text" 1)
("variant" 3)
diff --git a/luxc/src/lux/analyser/case.clj b/luxc/src/lux/analyser/case.clj
index d5a6e43cf..86752d336 100644
--- a/luxc/src/lux/analyser/case.clj
+++ b/luxc/src/lux/analyser/case.clj
@@ -15,7 +15,7 @@
("BoolTotal" 2)
("NatTotal" 2)
("IntTotal" 2)
- ("DegTotal" 2)
+ ("RevTotal" 2)
("FracTotal" 2)
("TextTotal" 2)
("TupleTotal" 2)
@@ -27,7 +27,7 @@
("BoolTestAC" 1)
("NatTestAC" 1)
("IntTestAC" 1)
- ("DegTestAC" 1)
+ ("RevTestAC" 1)
("FracTestAC" 1)
("TextTestAC" 1)
("TupleTestAC" 1)
@@ -283,10 +283,10 @@
=kont kont]
(return (&/T [($IntTestAC ?value) =kont])))
- (&/$Deg ?value)
- (|do [_ (&type/check value-type &type/Deg)
+ (&/$Rev ?value)
+ (|do [_ (&type/check value-type &type/Rev)
=kont kont]
- (return (&/T [($DegTestAC ?value) =kont])))
+ (return (&/T [($RevTestAC ?value) =kont])))
(&/$Frac ?value)
(|do [_ (&type/check value-type &type/Frac)
@@ -414,8 +414,8 @@
[($IntTotal total? ?values) ($NoTestAC)]
(return ($IntTotal true ?values))
- [($DegTotal total? ?values) ($NoTestAC)]
- (return ($DegTotal true ?values))
+ [($RevTotal total? ?values) ($NoTestAC)]
+ (return ($RevTotal true ?values))
[($FracTotal total? ?values) ($NoTestAC)]
(return ($FracTotal true ?values))
@@ -441,8 +441,8 @@
[($IntTotal total? ?values) ($StoreTestAC ?idx)]
(return ($IntTotal true ?values))
- [($DegTotal total? ?values) ($StoreTestAC ?idx)]
- (return ($DegTotal true ?values))
+ [($RevTotal total? ?values) ($StoreTestAC ?idx)]
+ (return ($RevTotal true ?values))
[($FracTotal total? ?values) ($StoreTestAC ?idx)]
(return ($FracTotal true ?values))
@@ -474,11 +474,11 @@
[($IntTotal total? ?values) ($IntTestAC ?value)]
(return ($IntTotal total? (&/$Cons ?value ?values)))
- [($DefaultTotal total?) ($DegTestAC ?value)]
- (return ($DegTotal total? (&/|list ?value)))
+ [($DefaultTotal total?) ($RevTestAC ?value)]
+ (return ($RevTotal total? (&/|list ?value)))
- [($DegTotal total? ?values) ($DegTestAC ?value)]
- (return ($DegTotal total? (&/$Cons ?value ?values)))
+ [($RevTotal total? ?values) ($RevTestAC ?value)]
+ (return ($RevTotal total? (&/$Cons ?value ?values)))
[($DefaultTotal total?) ($FracTestAC ?value)]
(return ($FracTotal total? (&/|list ?value)))
@@ -563,8 +563,8 @@
(|do [_ (&type/check value-type &type/Int)]
(return ?total))
- ($DegTotal ?total _)
- (|do [_ (&type/check value-type &type/Deg)]
+ ($RevTotal ?total _)
+ (|do [_ (&type/check value-type &type/Rev)]
(return ?total))
($FracTotal ?total _)
diff --git a/luxc/src/lux/base.clj b/luxc/src/lux/base.clj
index 1010bf418..37db2a480 100644
--- a/luxc/src/lux/base.clj
+++ b/luxc/src/lux/base.clj
@@ -74,7 +74,7 @@
("Bool" 1)
("Nat" 1)
("Int" 1)
- ("Deg" 1)
+ ("Rev" 1)
("Frac" 1)
("Text" 1)
("Symbol" 1)
@@ -1086,12 +1086,12 @@
(fn [state]
(return* state (get$ $cursor state))))
-(def deg-bits 64)
+(def rev-bits 64)
(let [clean-separators (fn [^String input]
(.replaceAll input "_" ""))
- deg-text-to-digits (fn [^String input]
- (loop [output (vec (repeat deg-bits 0))
+ rev-text-to-digits (fn [^String input]
+ (loop [output (vec (repeat rev-bits 0))
index (dec (.length input))]
(if (>= index 0)
(let [digit (Byte/parseByte (.substring input index (inc index)))]
@@ -1108,50 +1108,50 @@
(int (/ raw 10))
(assoc digits index (rem raw 10))))
digits)))
- deg-digit-power (fn [level]
- (loop [output (-> (vec (repeat deg-bits 0))
+ rev-digit-power (fn [level]
+ (loop [output (-> (vec (repeat rev-bits 0))
(assoc level 1))
times level]
(if (>= times 0)
(recur (times5 level output)
(dec times))
output)))
- deg-digits-lt (fn deg-digits-lt
+ rev-digits-lt (fn rev-digits-lt
([subject param index]
- (and (< index deg-bits)
+ (and (< index rev-bits)
(or (< (get subject index)
(get param index))
(and (= (get subject index)
(get param index))
- (deg-digits-lt subject param (inc index))))))
+ (rev-digits-lt subject param (inc index))))))
([subject param]
- (deg-digits-lt subject param 0)))
- deg-digits-sub-once (fn [subject param-digit index]
+ (rev-digits-lt subject param 0)))
+ rev-digits-sub-once (fn [subject param-digit index]
(if (>= (get subject index)
param-digit)
(update-in subject [index] #(- % param-digit))
(recur (update-in subject [index] #(- 10 (- param-digit %)))
1
(dec index))))
- deg-digits-sub (fn [subject param]
+ rev-digits-sub (fn [subject param]
(loop [target subject
- index (dec deg-bits)]
+ index (dec rev-bits)]
(if (>= index 0)
- (recur (deg-digits-sub-once target (get param index) index)
+ (recur (rev-digits-sub-once target (get param index) index)
(dec index))
target)))
- deg-digits-to-text (fn [digits]
+ rev-digits-to-text (fn [digits]
(loop [output ""
- index (dec deg-bits)]
+ index (dec rev-bits)]
(if (>= index 0)
(recur (-> (get digits index)
(Character/forDigit 10)
(str output))
(dec index))
output)))
- add-deg-digit-powers (fn [dl dr]
- (loop [index (dec deg-bits)
- output (vec (repeat deg-bits 0))
+ add-rev-digit-powers (fn [dl dr]
+ (loop [index (dec rev-bits)
+ output (vec (repeat rev-bits 0))
carry 0]
(if (>= index 0)
(let [raw (+ carry
@@ -1161,45 +1161,45 @@
(assoc output index (rem raw 10))
(int (/ raw 10))))
output)))]
- ;; Based on the LuxRT.encode_deg method
- (defn encode-deg [input]
+ ;; Based on the LuxRT.encode_rev method
+ (defn encode-rev [input]
(if (= 0 input)
".0"
- (loop [index (dec deg-bits)
- output (vec (repeat deg-bits 0))]
+ (loop [index (dec rev-bits)
+ output (vec (repeat rev-bits 0))]
(if (>= index 0)
(recur (dec index)
(if (bit-test input index)
- (->> (- (dec deg-bits) index)
- deg-digit-power
- (add-deg-digit-powers output))
+ (->> (- (dec rev-bits) index)
+ rev-digit-power
+ (add-rev-digit-powers output))
output))
- (-> output deg-digits-to-text
+ (-> output rev-digits-to-text
(->> (str "."))
(.split "0*$")
(aget 0))))))
- ;; Based on the LuxRT.decode_deg method
- (defn decode-deg [^String input]
+ ;; Based on the LuxRT.decode_rev method
+ (defn decode-rev [^String input]
(if (and (.startsWith input ".")
- (< (.length input) (inc deg-bits)))
+ (< (.length input) (inc rev-bits)))
(loop [digits-left (-> input
(.substring 1)
clean-separators
- deg-text-to-digits)
+ rev-text-to-digits)
index 0
ouput 0]
- (if (< index deg-bits)
- (let [power-slice (deg-digit-power index)]
- (if (not (deg-digits-lt digits-left power-slice))
- (recur (deg-digits-sub digits-left power-slice)
+ (if (< index rev-bits)
+ (let [power-slice (rev-digit-power index)]
+ (if (not (rev-digits-lt digits-left power-slice))
+ (recur (rev-digits-sub digits-left power-slice)
(inc index)
- (bit-set ouput (- (dec deg-bits) index)))
+ (bit-set ouput (- (dec rev-bits) index)))
(recur digits-left
(inc index)
ouput)))
ouput))
- (throw (str "Bad format for Deg number: " input))))
+ (throw (str "Bad format for Rev number: " input))))
)
(defn show-ast [ast]
@@ -1213,8 +1213,8 @@
[_ ($Int ?value)]
(pr-str ?value)
- [_ ($Deg ?value)]
- (encode-deg ?value)
+ [_ ($Rev ?value)]
+ (encode-rev ?value)
[_ ($Frac ?value)]
(pr-str ?value)
diff --git a/luxc/src/lux/compiler/cache/ann.clj b/luxc/src/lux/compiler/cache/ann.clj
index 3111886ba..458146992 100644
--- a/luxc/src/lux/compiler/cache/ann.clj
+++ b/luxc/src/lux/compiler/cache/ann.clj
@@ -33,7 +33,7 @@
[_ (&/$Int value)]
(str "I" value stop)
- [_ (&/$Deg value)]
+ [_ (&/$Rev value)]
(str "D" value stop)
[_ (&/$Frac value)]
@@ -79,7 +79,7 @@
^:private deserialize-bool "B" &/$Bool Boolean/parseBoolean
^:private deserialize-nat "N" &/$Nat Long/parseLong
^:private deserialize-int "I" &/$Int Long/parseLong
- ^:private deserialize-deg "D" &/$Deg Long/parseLong
+ ^:private deserialize-rev "D" &/$Rev Long/parseLong
^:private deserialize-frac "F" &/$Frac Double/parseDouble
^:private deserialize-text "T" &/$Text identity
)
@@ -127,7 +127,7 @@
(or (deserialize-bool input)
(deserialize-nat input)
(deserialize-int input)
- (deserialize-deg input)
+ (deserialize-rev input)
(deserialize-frac input)
(deserialize-text input)
(deserialize-symbol input)
diff --git a/luxc/src/lux/compiler/jvm.clj b/luxc/src/lux/compiler/jvm.clj
index 68b0e15b7..a13427bc3 100644
--- a/luxc/src/lux/compiler/jvm.clj
+++ b/luxc/src/lux/compiler/jvm.clj
@@ -56,8 +56,8 @@
(&o/$int ?value)
(&&lux/compile-int ?value)
- (&o/$deg ?value)
- (&&lux/compile-deg ?value)
+ (&o/$rev ?value)
+ (&&lux/compile-rev ?value)
(&o/$frac ?value)
(&&lux/compile-frac ?value)
diff --git a/luxc/src/lux/compiler/jvm/case.clj b/luxc/src/lux/compiler/jvm/case.clj
index 38f3ad4fc..79e6c559c 100644
--- a/luxc/src/lux/compiler/jvm/case.clj
+++ b/luxc/src/lux/compiler/jvm/case.clj
@@ -85,7 +85,7 @@
(.visitInsn Opcodes/LCMP)
(.visitJumpInsn Opcodes/IFNE $else))
- (&o/$DegPM _value)
+ (&o/$RevPM _value)
(doto writer
stack-peek
&&/unwrap-long
diff --git a/luxc/src/lux/compiler/jvm/lux.clj b/luxc/src/lux/compiler/jvm/lux.clj
index 32824a22d..6a85e1075 100644
--- a/luxc/src/lux/compiler/jvm/lux.clj
+++ b/luxc/src/lux/compiler/jvm/lux.clj
@@ -39,7 +39,7 @@
compile-nat "java/lang/Long" "J" long
compile-int "java/lang/Long" "J" long
- compile-deg "java/lang/Long" "J" long
+ compile-rev "java/lang/Long" "J" long
compile-frac "java/lang/Double" "D" double
)
diff --git a/luxc/src/lux/lexer.clj b/luxc/src/lux/lexer.clj
index 84c925cbc..4ff0af4f2 100644
--- a/luxc/src/lux/lexer.clj
+++ b/luxc/src/lux/lexer.clj
@@ -12,7 +12,7 @@
("Bool" 1)
("Nat" 1)
("Int" 1)
- ("Deg" 1)
+ ("Rev" 1)
("Frac" 1)
("Text" 1)
("Symbol" 1)
@@ -140,7 +140,7 @@
lex-nat $Nat #"^\+[0-9][0-9_]*"
lex-int $Int #"^-?[0-9][0-9_]*"
- lex-deg $Deg #"^\.[0-9][0-9_]+"
+ lex-rev $Rev #"^\.[0-9][0-9_]+"
lex-frac $Frac #"^-?[0-9][0-9_]*\.[0-9_]+((e|E)(-|\+)?[0-9][0-9_]*)?"
)
@@ -208,7 +208,7 @@
lex-bool
lex-nat
lex-frac
- lex-deg
+ lex-rev
lex-int
lex-text
lex-symbol
diff --git a/luxc/src/lux/optimizer.clj b/luxc/src/lux/optimizer.clj
index 25958712f..8f331cc95 100644
--- a/luxc/src/lux/optimizer.clj
+++ b/luxc/src/lux/optimizer.clj
@@ -9,7 +9,7 @@
("bool" 1)
("nat" 1)
("int" 1)
- ("deg" 1)
+ ("rev" 1)
("frac" 1)
("text" 1)
("variant" 3)
@@ -71,8 +71,8 @@
("NatPM" 1)
;; Compare the CDN with an integer value.
("IntPM" 1)
- ;; Compare the CDN with a degree value.
- ("DegPM" 1)
+ ;; Compare the CDN with a revolution value.
+ ("RevPM" 1)
;; Compare the CDN with a frac value.
("FracPM" 1)
;; Compare the CDN with a text value.
@@ -186,8 +186,8 @@
(&/|list ($IntPM _value)
$PopPM)
- (&a-case/$DegTestAC _value)
- (&/|list ($DegPM _value)
+ (&a-case/$RevTestAC _value)
+ (&/|list ($RevPM _value)
$PopPM)
(&a-case/$FracTestAC _value)
@@ -290,9 +290,9 @@
($IntPM _pre-value)
($AltPM pre post))
- [($DegPM _pre-value) ($DegPM _post-value)]
+ [($RevPM _pre-value) ($RevPM _post-value)]
(if (= _pre-value _post-value)
- ($DegPM _pre-value)
+ ($RevPM _pre-value)
($AltPM pre post))
[($FracPM _pre-value) ($FracPM _post-value)]
@@ -1010,8 +1010,8 @@
(&a/$int value)
(&/T [meta ($int value)])
- (&a/$deg value)
- (&/T [meta ($deg value)])
+ (&a/$rev value)
+ (&/T [meta ($rev value)])
(&a/$frac value)
(&/T [meta ($frac value)])
diff --git a/luxc/src/lux/parser.clj b/luxc/src/lux/parser.clj
index 6bc2190a7..130a794ac 100644
--- a/luxc/src/lux/parser.clj
+++ b/luxc/src/lux/parser.clj
@@ -73,8 +73,8 @@
(&lexer/$Int ?value)
(return (&/|list (&/T [meta (&/$Int (Long/parseLong ?value))])))
- (&lexer/$Deg ?value)
- (return (&/|list (&/T [meta (&/$Deg (&/decode-deg ?value))])))
+ (&lexer/$Rev ?value)
+ (return (&/|list (&/T [meta (&/$Rev (&/decode-rev ?value))])))
(&lexer/$Frac ?value)
(return (&/|list (&/T [meta (&/$Frac (Double/parseDouble ?value))])))
diff --git a/luxc/src/lux/type.clj b/luxc/src/lux/type.clj
index 173f144b9..d0fcf4691 100644
--- a/luxc/src/lux/type.clj
+++ b/luxc/src/lux/type.clj
@@ -27,12 +27,12 @@
(&/$UnivQ empty-env
(&/$Primitive "#I64" (&/|list (&/$Parameter 1))))))
(def Nat* (&/$Primitive &&host/nat-data-tag &/$Nil))
-(def Deg* (&/$Primitive &&host/deg-data-tag &/$Nil))
+(def Rev* (&/$Primitive &&host/rev-data-tag &/$Nil))
(def Int* (&/$Primitive &&host/int-data-tag &/$Nil))
(def Bool (&/$Named (&/T ["lux" "Bool"]) (&/$Primitive "#Bool" &/$Nil)))
(def Nat (&/$Named (&/T ["lux" "Nat"]) (&/$Apply Nat* I64)))
-(def Deg (&/$Named (&/T ["lux" "Deg"]) (&/$Apply Deg* I64)))
+(def Rev (&/$Named (&/T ["lux" "Rev"]) (&/$Apply Rev* I64)))
(def Int (&/$Named (&/T ["lux" "Int"]) (&/$Apply Int* I64)))
(def Frac (&/$Named (&/T ["lux" "Frac"]) (&/$Primitive "#Frac" &/$Nil)))
(def Text (&/$Named (&/T ["lux" "Text"]) (&/$Primitive "#Text" &/$Nil)))
@@ -154,8 +154,8 @@
Nat
(&/$Sum ;; "lux;Int"
Int
- (&/$Sum ;; "lux;Deg"
- Deg
+ (&/$Sum ;; "lux;Rev"
+ Rev
(&/$Sum ;; "lux;Frac"
Frac
(&/$Sum ;; "lux;Text"
diff --git a/luxc/src/lux/type/host.clj b/luxc/src/lux/type/host.clj
index bdf0d7b50..474153316 100644
--- a/luxc/src/lux/type/host.clj
+++ b/luxc/src/lux/type/host.clj
@@ -69,7 +69,7 @@
(def i64-data-tag "#I64")
(def nat-data-tag "#Nat")
(def int-data-tag "#Int")
-(def deg-data-tag "#Deg")
+(def rev-data-tag "#Rev")
;; [Utils]
(defn ^:private trace-lineage* [^Class super-class ^Class sub-class]