aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/data/text.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/library/lux/data/text.lux')
-rw-r--r--stdlib/source/library/lux/data/text.lux220
1 files changed, 110 insertions, 110 deletions
diff --git a/stdlib/source/library/lux/data/text.lux b/stdlib/source/library/lux/data/text.lux
index 2f6d9fe7e..043736329 100644
--- a/stdlib/source/library/lux/data/text.lux
+++ b/stdlib/source/library/lux/data/text.lux
@@ -182,29 +182,29 @@
[[pre post] (..split_by pattern template)]
(in ($_ "lux text concat" pre replacement post)))))
-(for [@.js (as_is (macro: (defined? tokens lux)
- (case tokens
- (^ (list it))
- {.#Right [lux (list (` (.case ("js type-of" ("js constant" (~ it)))
- "undefined"
- .false
-
- (~' _)
- .true)))]}
-
- _
- {.#Left ""}))
- (macro: (if_nashorn tokens lux)
- (case tokens
- (^ (list then else))
- {.#Right [lux (list (if (and (..defined? "java")
- (..defined? "java.lang")
- (..defined? "java.lang.Object"))
- then
- else))]}
-
- _
- {.#Left ""})))]
+(for @.js (as_is (macro: (defined? tokens lux)
+ (case tokens
+ (^ (list it))
+ {.#Right [lux (list (` (.case ("js type-of" ("js constant" (~ it)))
+ "undefined"
+ .false
+
+ (~' _)
+ .true)))]}
+
+ _
+ {.#Left ""}))
+ (macro: (if_nashorn tokens lux)
+ (case tokens
+ (^ (list then else))
+ {.#Right [lux (list (if (and (..defined? "java")
+ (..defined? "java.lang")
+ (..defined? "java.lang.Object"))
+ then
+ else))]}
+
+ _
+ {.#Left ""})))
(as_is))
(def: .public (replaced pattern replacement template)
@@ -218,39 +218,39 @@
{.#None}
("lux text concat" left right)))]
- (for [@.old
+ (for @.old
+ (:as Text
+ ("jvm invokevirtual:java.lang.String:replace:java.lang.CharSequence,java.lang.CharSequence"
+ (:as (Primitive "java.lang.String") template)
+ (:as (Primitive "java.lang.CharSequence") pattern)
+ (:as (Primitive "java.lang.CharSequence") replacement)))
+ @.jvm
+ (:as Text
+ ("jvm member invoke virtual" [] "java.lang.String" "replace" []
+ (:as (Primitive "java.lang.String") template)
+ ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") pattern)]
+ ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") replacement)]))
+ @.js
+ ... TODO: Remove this when Nashorn is no longer being used.
+ (..if_nashorn
+ <default>
(:as Text
- ("jvm invokevirtual:java.lang.String:replace:java.lang.CharSequence,java.lang.CharSequence"
- (:as (Primitive "java.lang.String") template)
- (:as (Primitive "java.lang.CharSequence") pattern)
- (:as (Primitive "java.lang.CharSequence") replacement)))
- @.jvm
- (:as Text
- ("jvm member invoke virtual" [] "java.lang.String" "replace" []
- (:as (Primitive "java.lang.String") template)
- ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") pattern)]
- ["Ljava/lang/CharSequence;" (:as (Primitive "java.lang.CharSequence") replacement)]))
- @.js
- ... TODO: Remove this when Nashorn is no longer being used.
- (..if_nashorn
- <default>
- (:as Text
- ("js object do" "replaceAll" template [pattern replacement])))
- @.python
- (:as Text
- ("python object do" "replace" template [pattern replacement]))
- ... TODO @.lua
- @.ruby
- (:as Text
- ("ruby object do" "gsub" template [pattern replacement]))
- @.php
- (:as Text
- ("php apply" (:expected ("php constant" "str_replace"))
- pattern replacement template))
- ... TODO @.scheme
- ... TODO @.common_lisp
- ... TODO @.r
- ]
+ ("js object do" "replaceAll" template [pattern replacement])))
+ @.python
+ (:as Text
+ ("python object do" "replace" template [pattern replacement]))
+ ... TODO @.lua
+ @.ruby
+ (:as Text
+ ("ruby object do" "gsub" template [pattern replacement]))
+ @.php
+ (:as Text
+ ("php apply" (:expected ("php constant" "str_replace"))
+ pattern replacement template))
+ ... TODO @.scheme
+ ... TODO @.common_lisp
+ ... TODO @.r
+
... Inefficient default
<default>)))
@@ -282,21 +282,21 @@
(def: &equivalence ..equivalence)
(def: (hash input)
- (for [@.old
- (|> input
- (: (Primitive "java.lang.String"))
- "jvm invokevirtual:java.lang.String:hashCode:"
- "jvm convert int-to-long"
- (:as Nat))
-
- @.jvm
- (|> input
- (:as (Primitive "java.lang.String"))
- ("jvm member invoke virtual" [] "java.lang.String" "hashCode" [])
- "jvm conversion int-to-long"
- "jvm object cast"
- (: (Primitive "java.lang.Long"))
- (:as Nat))]
+ (for @.old
+ (|> input
+ (: (Primitive "java.lang.String"))
+ "jvm invokevirtual:java.lang.String:hashCode:"
+ "jvm convert int-to-long"
+ (:as Nat))
+
+ @.jvm
+ (|> input
+ (:as (Primitive "java.lang.String"))
+ ("jvm member invoke virtual" [] "java.lang.String" "hashCode" [])
+ "jvm conversion int-to-long"
+ "jvm object cast"
+ (: (Primitive "java.lang.Long"))
+ (:as Nat))
... Platform-independent default.
(let [length ("lux text size" input)]
(loop [index 0
@@ -352,46 +352,46 @@
(def: .public (lower_cased value)
(-> Text Text)
- (for [@.old
- (:as Text
- ("jvm invokevirtual:java.lang.String:toLowerCase:"
- (:as (Primitive "java.lang.String") value)))
- @.jvm
- (:as Text
- ("jvm member invoke virtual" [] "java.lang.String" "toLowerCase" []
- (:as (Primitive "java.lang.String") value)))
- @.js
- (:as Text
- ("js object do" "toLowerCase" value []))
- @.python
- (:as Text
- ("python object do" "lower" value []))
- @.lua
- (:as Text
- ("lua apply" ("lua constant" "string.lower") [value]))
- @.ruby
- (:as Text
- ("ruby object do" "downcase" value []))]))
+ (for @.old
+ (:as Text
+ ("jvm invokevirtual:java.lang.String:toLowerCase:"
+ (:as (Primitive "java.lang.String") value)))
+ @.jvm
+ (:as Text
+ ("jvm member invoke virtual" [] "java.lang.String" "toLowerCase" []
+ (:as (Primitive "java.lang.String") value)))
+ @.js
+ (:as Text
+ ("js object do" "toLowerCase" value []))
+ @.python
+ (:as Text
+ ("python object do" "lower" value []))
+ @.lua
+ (:as Text
+ ("lua apply" ("lua constant" "string.lower") [value]))
+ @.ruby
+ (:as Text
+ ("ruby object do" "downcase" value []))))
(def: .public (upper_cased value)
(-> Text Text)
- (for [@.old
- (:as Text
- ("jvm invokevirtual:java.lang.String:toUpperCase:"
- (:as (Primitive "java.lang.String") value)))
- @.jvm
- (:as Text
- ("jvm member invoke virtual" [] "java.lang.String" "toUpperCase" []
- (:as (Primitive "java.lang.String") value)))
- @.js
- (:as Text
- ("js object do" "toUpperCase" value []))
- @.python
- (:as Text
- ("python object do" "upper" value []))
- @.lua
- (:as Text
- ("lua apply" ("lua constant" "string.upper") [value]))
- @.ruby
- (:as Text
- ("ruby object do" "upcase" value []))]))
+ (for @.old
+ (:as Text
+ ("jvm invokevirtual:java.lang.String:toUpperCase:"
+ (:as (Primitive "java.lang.String") value)))
+ @.jvm
+ (:as Text
+ ("jvm member invoke virtual" [] "java.lang.String" "toUpperCase" []
+ (:as (Primitive "java.lang.String") value)))
+ @.js
+ (:as Text
+ ("js object do" "toUpperCase" value []))
+ @.python
+ (:as Text
+ ("python object do" "upper" value []))
+ @.lua
+ (:as Text
+ ("lua apply" ("lua constant" "string.upper") [value]))
+ @.ruby
+ (:as Text
+ ("ruby object do" "upcase" value []))))