aboutsummaryrefslogtreecommitdiff
path: root/source/lux/data/text.lux
diff options
context:
space:
mode:
Diffstat (limited to 'source/lux/data/text.lux')
-rw-r--r--source/lux/data/text.lux61
1 files changed, 28 insertions, 33 deletions
diff --git a/source/lux/data/text.lux b/source/lux/data/text.lux
index a3192a1d5..f7f1a86c0 100644
--- a/source/lux/data/text.lux
+++ b/source/lux/data/text.lux
@@ -15,30 +15,30 @@
## [Functions]
(def #export (size x)
(-> Text Int)
- (_jvm_i2l (_jvm_invokevirtual java.lang.String length []
+ (_jvm_i2l (_jvm_invokevirtual "java.lang.String" "length" []
x [])))
(def #export (@ idx x)
(-> Int Text (Maybe Char))
(if (and (i< idx (size x))
(i>= idx 0))
- (#;Some (_jvm_invokevirtual java.lang.String charAt [int]
+ (#;Some (_jvm_invokevirtual "java.lang.String" "charAt" ["int"]
x [(_jvm_l2i idx)]))
#;None))
(def #export (contains? x y)
(-> Text Text Bool)
- (_jvm_invokevirtual java.lang.String contains [java.lang.CharSequence]
+ (_jvm_invokevirtual "java.lang.String" "contains" ["java.lang.CharSequence"]
x [y]))
(do-template [<name> <method>]
[(def #export (<name> x)
(-> Text Text)
- (_jvm_invokevirtual java.lang.String <method> []
+ (_jvm_invokevirtual "java.lang.String" <method> []
x []))]
- [lower-case toLowerCase]
- [upper-case toUpperCase]
- [trim trim]
+ [lower-case "toLowerCase"]
+ [upper-case "toUpperCase"]
+ [trim "trim"]
)
(def #export (sub' from to x)
@@ -46,7 +46,7 @@
(if (and (i< from to)
(i>= from 0)
(i<= to (size x)))
- (_jvm_invokevirtual java.lang.String substring [int int]
+ (_jvm_invokevirtual "java.lang.String" "substring" ["int" "int"]
x [(_jvm_l2i from) (_jvm_l2i to)])
#;None))
@@ -58,23 +58,23 @@
(-> Int Text (Maybe (, Text Text)))
(if (and (i< at (size x))
(i>= at 0))
- (let [pre (_jvm_invokevirtual java.lang.String substring [int int]
+ (let [pre (_jvm_invokevirtual "java.lang.String" "substring" ["int" "int"]
x [(_jvm_l2i 0) (_jvm_l2i at)])
- post (_jvm_invokevirtual java.lang.String substring [int]
+ post (_jvm_invokevirtual "java.lang.String" "substring" ["int"]
x [(_jvm_l2i at)])]
(#;Some [pre post]))
#;None))
(def #export (replace pattern value template)
(-> Text Text Text Text)
- (_jvm_invokevirtual java.lang.String replace [java.lang.CharSequence java.lang.CharSequence]
+ (_jvm_invokevirtual "java.lang.String" "replace" ["java.lang.CharSequence" "java.lang.CharSequence"]
template [pattern value]))
(do-template [<common> <general> <method>]
[(def #export (<general> pattern from x)
(-> Text Int Text (Maybe Int))
(if (and (i< from (size x)) (i>= from 0))
- (case (_jvm_i2l (_jvm_invokevirtual java.lang.String <method> [java.lang.String int]
+ (case (_jvm_i2l (_jvm_invokevirtual "java.lang.String" <method> ["java.lang.String" "int"]
x [pattern (_jvm_l2i from)]))
-1 #;None
idx (#;Some idx))
@@ -82,13 +82,13 @@
(def #export (<common> pattern x)
(-> Text Text (Maybe Int))
- (case (_jvm_i2l (_jvm_invokevirtual java.lang.String <method> [java.lang.String]
+ (case (_jvm_i2l (_jvm_invokevirtual "java.lang.String" <method> ["java.lang.String"]
x [pattern]))
-1 #;None
idx (#;Some idx)))]
- [index-of index-of' indexOf]
- [last-index-of last-index-of' lastIndexOf]
+ [index-of index-of' "indexOf"]
+ [last-index-of last-index-of' "lastIndexOf"]
)
(def #export (starts-with? prefix x)
@@ -113,27 +113,22 @@
## [Structures]
(defstruct #export Text/Eq (E;Eq Text)
(def (E;= x y)
- (_jvm_invokevirtual java.lang.Object equals [java.lang.Object]
+ (_jvm_invokevirtual "java.lang.Object" "equals" ["java.lang.Object"]
x [y])))
(defstruct #export Text/Ord (O;Ord Text)
(def O;_eq Text/Eq)
- (def (O;< x y)
- (i< (_jvm_i2l (_jvm_invokevirtual java.lang.String compareTo [java.lang.String]
- x [y]))
- 0))
- (def (O;<= x y)
- (i<= (_jvm_i2l (_jvm_invokevirtual java.lang.String compareTo [java.lang.String]
- x [y]))
- 0))
- (def (O;> x y)
- (i> (_jvm_i2l (_jvm_invokevirtual java.lang.String compareTo [java.lang.String]
- x [y]))
- 0))
- (def (O;>= x y)
- (i>= (_jvm_i2l (_jvm_invokevirtual java.lang.String compareTo [java.lang.String]
- x [y]))
- 0)))
+
+ (do-template [<name> <op>]
+ [(def (<name> x y)
+ (<op> (_jvm_i2l (_jvm_invokevirtual "java.lang.String" "compareTo" ["java.lang.String"]
+ x [y]))
+ 0))]
+
+ [O;< i<]
+ [O;<= i<=]
+ [O;> i>]
+ [O;>= i>=]))
(defstruct #export Text/Show (S;Show Text)
(def (S;show x)
@@ -142,5 +137,5 @@
(defstruct #export Text/Monoid (m;Monoid Text)
(def m;unit "")
(def (m;++ x y)
- (_jvm_invokevirtual java.lang.String concat [java.lang.String]
+ (_jvm_invokevirtual "java.lang.String" "concat" ["java.lang.String"]
x [y])))