From b0914546f8e8ea5ef970c1f92dbb0072aa22be63 Mon Sep 17 00:00:00 2001
From: Eduardo Julian
Date: Fri, 20 Jul 2018 23:43:59 -0400
Subject: "^open" and "open:" now use aliases instead of prefixes, the same way
as module aliases.
---
stdlib/source/lux.lux | 113 +++++++++------------
stdlib/source/lux/cli.lux | 4 +-
stdlib/source/lux/concurrency/actor.lux | 6 +-
stdlib/source/lux/concurrency/frp.lux | 2 +-
stdlib/source/lux/concurrency/stm.lux | 4 +-
stdlib/source/lux/control/comonad.lux | 2 +-
stdlib/source/lux/control/concatenative.lux | 6 +-
stdlib/source/lux/control/enum.lux | 2 +-
stdlib/source/lux/control/exception.lux | 4 +-
stdlib/source/lux/control/interval.lux | 24 ++---
stdlib/source/lux/control/monad/indexed.lux | 2 +-
stdlib/source/lux/control/monoid.lux | 2 +-
stdlib/source/lux/control/parser.lux | 2 +-
stdlib/source/lux/control/pipe.lux | 2 +-
stdlib/source/lux/control/region.lux | 2 +-
stdlib/source/lux/data/collection/array.lux | 2 +-
stdlib/source/lux/data/collection/bits.lux | 2 +-
stdlib/source/lux/data/collection/dictionary.lux | 4 +-
.../lux/data/collection/dictionary/ordered.lux | 10 +-
.../lux/data/collection/dictionary/plist.lux | 2 +-
stdlib/source/lux/data/collection/list.lux | 10 +-
stdlib/source/lux/data/collection/queue.lux | 2 +-
.../source/lux/data/collection/queue/priority.lux | 2 +-
stdlib/source/lux/data/collection/row.lux | 22 ++--
stdlib/source/lux/data/collection/sequence.lux | 2 +-
stdlib/source/lux/data/collection/set.lux | 2 +-
stdlib/source/lux/data/collection/set/multi.lux | 2 +-
stdlib/source/lux/data/collection/set/ordered.lux | 5 +-
stdlib/source/lux/data/collection/tree/rose.lux | 2 +-
.../lux/data/collection/tree/rose/zipper.lux | 6 +-
stdlib/source/lux/data/color.lux | 2 +-
stdlib/source/lux/data/format/css.lux | 2 +-
stdlib/source/lux/data/format/html.lux | 2 +-
stdlib/source/lux/data/format/json.lux | 12 +--
stdlib/source/lux/data/format/xml.lux | 8 +-
stdlib/source/lux/data/ident.lux | 2 +-
stdlib/source/lux/data/number/complex.lux | 6 +-
stdlib/source/lux/data/number/ratio.lux | 4 +-
stdlib/source/lux/data/text.lux | 6 +-
stdlib/source/lux/data/text/buffer.lux | 2 +-
stdlib/source/lux/data/text/format.lux | 2 +-
stdlib/source/lux/data/text/lexer.lux | 2 +-
stdlib/source/lux/data/text/regex.lux | 6 +-
stdlib/source/lux/data/text/unicode.lux | 2 +-
stdlib/source/lux/host.js.lux | 11 +-
stdlib/source/lux/host.jvm.lux | 16 +--
stdlib/source/lux/language/compiler/analysis.lux | 4 +-
.../source/lux/language/compiler/analysis/case.lux | 2 +-
.../language/compiler/analysis/case/coverage.lux | 10 +-
.../lux/language/compiler/analysis/function.lux | 2 +-
.../lux/language/compiler/analysis/inference.lux | 4 +-
.../lux/language/compiler/analysis/module.lux | 4 +-
.../lux/language/compiler/analysis/reference.lux | 2 +-
.../lux/language/compiler/analysis/scope.lux | 8 +-
.../lux/language/compiler/analysis/structure.lux | 2 +-
.../compiler/extension/analysis/common.lux | 5 +-
.../compiler/extension/analysis/host.jvm.lux | 6 +-
.../lux/language/compiler/extension/bundle.lux | 2 +-
stdlib/source/lux/language/compiler/meta/cache.lux | 4 +-
.../language/compiler/meta/cache/dependency.lux | 2 +-
.../lux/language/compiler/synthesis/case.lux | 10 +-
.../lux/language/compiler/synthesis/expression.lux | 4 +-
.../lux/language/compiler/synthesis/function.lux | 4 +-
.../lux/language/compiler/synthesis/loop.lux | 4 +-
.../source/lux/language/compiler/translation.lux | 2 +-
.../compiler/translation/scheme/case.jvm.lux | 4 +-
.../translation/scheme/extension/common.jvm.lux | 2 +-
.../compiler/translation/scheme/function.jvm.lux | 4 +-
.../compiler/translation/scheme/loop.jvm.lux | 2 +-
.../compiler/translation/scheme/primitive.jvm.lux | 2 +-
.../compiler/translation/scheme/reference.jvm.lux | 2 +-
.../compiler/translation/scheme/runtime.jvm.lux | 4 +-
stdlib/source/lux/language/host/scheme.lux | 2 +-
stdlib/source/lux/language/syntax.lux | 2 +-
stdlib/source/lux/language/type.lux | 8 +-
stdlib/source/lux/language/type/check.lux | 8 +-
stdlib/source/lux/macro.lux | 10 +-
stdlib/source/lux/macro/code.lux | 4 +-
stdlib/source/lux/macro/poly.lux | 10 +-
stdlib/source/lux/macro/poly/equivalence.lux | 6 +-
stdlib/source/lux/macro/poly/functor.lux | 2 +-
stdlib/source/lux/macro/poly/json.lux | 8 +-
stdlib/source/lux/macro/syntax.lux | 6 +-
stdlib/source/lux/macro/syntax/common/reader.lux | 4 +-
stdlib/source/lux/macro/syntax/common/writer.lux | 2 +-
stdlib/source/lux/math.lux | 4 +-
stdlib/source/lux/math/logic/continuous.lux | 2 +-
stdlib/source/lux/math/modular.lux | 4 +-
stdlib/source/lux/math/random.lux | 4 +-
stdlib/source/lux/test.lux | 2 +-
stdlib/source/lux/time/date.lux | 4 +-
stdlib/source/lux/time/duration.lux | 4 +-
stdlib/source/lux/time/instant.lux | 10 +-
stdlib/source/lux/type/abstract.lux | 6 +-
stdlib/source/lux/type/implicit.lux | 4 +-
stdlib/source/lux/type/object/interface.lux | 12 +--
stdlib/source/lux/type/object/protocol.lux | 4 +-
stdlib/source/lux/type/refinement.lux | 2 +-
stdlib/source/lux/type/resource.lux | 2 +-
stdlib/source/lux/world/net/tcp.jvm.lux | 2 +-
stdlib/source/lux/world/net/udp.jvm.lux | 6 +-
stdlib/test/test/lux.lux | 2 +-
stdlib/test/test/lux/cli.lux | 4 +-
stdlib/test/test/lux/concurrency/actor.lux | 2 +-
stdlib/test/test/lux/concurrency/frp.lux | 6 +-
stdlib/test/test/lux/concurrency/promise.lux | 2 +-
stdlib/test/test/lux/concurrency/semaphore.lux | 4 +-
stdlib/test/test/lux/concurrency/stm.lux | 2 +-
stdlib/test/test/lux/control/continuation.lux | 8 +-
stdlib/test/test/lux/control/interval.lux | 8 +-
stdlib/test/test/lux/control/pipe.lux | 2 +-
stdlib/test/test/lux/control/reader.lux | 6 +-
stdlib/test/test/lux/control/state.lux | 8 +-
stdlib/test/test/lux/control/writer.lux | 8 +-
stdlib/test/test/lux/data/collection/array.lux | 8 +-
.../test/test/lux/data/collection/dictionary.lux | 8 +-
.../lux/data/collection/dictionary/ordered.lux | 12 +--
stdlib/test/test/lux/data/collection/list.lux | 40 ++++----
stdlib/test/test/lux/data/collection/queue.lux | 2 +-
stdlib/test/test/lux/data/collection/row.lux | 12 +--
stdlib/test/test/lux/data/collection/sequence.lux | 14 +--
stdlib/test/test/lux/data/collection/set.lux | 2 +-
.../test/test/lux/data/collection/set/ordered.lux | 4 +-
stdlib/test/test/lux/data/collection/tree/rose.lux | 8 +-
.../test/lux/data/collection/tree/rose/zipper.lux | 4 +-
stdlib/test/test/lux/data/color.lux | 4 +-
stdlib/test/test/lux/data/error.lux | 6 +-
stdlib/test/test/lux/data/format/json.lux | 8 +-
stdlib/test/test/lux/data/format/xml.lux | 10 +-
stdlib/test/test/lux/data/ident.lux | 8 +-
stdlib/test/test/lux/data/identity.lux | 8 +-
stdlib/test/test/lux/data/lazy.lux | 4 +-
stdlib/test/test/lux/data/maybe.lux | 12 +--
stdlib/test/test/lux/data/number.lux | 20 ++--
stdlib/test/test/lux/data/number/complex.lux | 4 +-
stdlib/test/test/lux/data/number/ratio.lux | 4 +-
stdlib/test/test/lux/data/sum.lux | 2 +-
stdlib/test/test/lux/data/text.lux | 6 +-
stdlib/test/test/lux/data/text/format.lux | 2 +-
stdlib/test/test/lux/data/text/lexer.lux | 4 +-
stdlib/test/test/lux/data/text/regex.lux | 2 +-
stdlib/test/test/lux/host.jvm.lux | 2 +-
stdlib/test/test/lux/io.lux | 6 +-
.../test/lux/language/compiler/analysis/case.lux | 6 +-
.../lux/language/compiler/analysis/function.lux | 4 +-
.../lux/language/compiler/analysis/primitive.lux | 4 +-
.../compiler/analysis/procedure/common.lux | 2 +-
.../lux/language/compiler/analysis/reference.lux | 6 +-
.../lux/language/compiler/analysis/structure.lux | 6 +-
.../test/lux/language/compiler/synthesis/case.lux | 2 +-
.../lux/language/compiler/synthesis/function.lux | 4 +-
.../lux/language/compiler/synthesis/structure.lux | 2 +-
stdlib/test/test/lux/language/syntax.lux | 2 +-
stdlib/test/test/lux/language/type.lux | 12 +--
stdlib/test/test/lux/language/type/check.lux | 8 +-
stdlib/test/test/lux/macro/code.lux | 2 +-
stdlib/test/test/lux/macro/poly/equivalence.lux | 4 +-
stdlib/test/test/lux/math.lux | 4 +-
stdlib/test/test/lux/math/logic/fuzzy.lux | 2 +-
stdlib/test/test/lux/math/modular.lux | 6 +-
stdlib/test/test/lux/math/random.lux | 2 +-
stdlib/test/test/lux/time/date.lux | 22 ++--
stdlib/test/test/lux/time/duration.lux | 10 +-
stdlib/test/test/lux/time/instant.lux | 14 +--
stdlib/test/test/lux/type/implicit.lux | 4 +-
stdlib/test/test/lux/world/net/tcp.lux | 2 +-
166 files changed, 494 insertions(+), 506 deletions(-)
diff --git a/stdlib/source/lux.lux b/stdlib/source/lux.lux
index 392d3a504..f96062238 100644
--- a/stdlib/source/lux.lux
+++ b/stdlib/source/lux.lux
@@ -4158,6 +4158,10 @@
#.None
template))
+(def: de-alias
+ (-> Text Text Text)
+ (replace-all "."))
+
(def: (count-ups ups input)
(-> Nat Text Nat)
(case ("lux text index" input "/" ups)
@@ -4245,7 +4249,7 @@
#let [[openings extra] openings+extra]
sub-imports (parse-imports #1 import-name extra)]
(wrap (list& {#import-name import-name
- #import-alias (#Some (replace-all "." m-name alias))
+ #import-alias (#Some (de-alias m-name alias))
#import-refer {#refer-defs referral
#refer-open openings}}
sub-imports)))
@@ -4487,22 +4491,17 @@
(macro: #export (^open tokens)
{#.doc "## Same as the \"open\" macro, but meant to be used as a pattern-matching macro for generating local bindings.
- ## Can optionally take a \"prefix\" text for the generated local bindings.
- (def: #export (range (^open) from to)
+ ## Takes an \"alias\" text for the generated local bindings.
+ (def: #export (range (^open \".\") from to)
(All [a] (-> (Enum a) a a (List a)))
(range' <= succ from to))"}
(case tokens
- (^ (list& [_ (#Form (list))] body branches))
+ (^ (list& [_ (#Form (list [_ (#Text alias)]))] body branches))
(do Monad
[g!temp (gensym "temp")]
- (wrap (list& g!temp (` (..^open (~ g!temp) "" (~ body))) branches)))
+ (wrap (list& g!temp (` (..^open (~ g!temp) (~ (text$ alias)) (~ body))) branches)))
- (^ (list& [_ (#Form (list [_ (#Text prefix)]))] body branches))
- (do Monad
- [g!temp (gensym "temp")]
- (wrap (list& g!temp (` (..^open (~ g!temp) (~ (text$ prefix)) (~ body))) branches)))
-
- (^ (list [_ (#Symbol name)] [_ (#Text prefix)] body))
+ (^ (list [_ (#Symbol name)] [_ (#Text alias)] body))
(do Monad
[init-type (find-type name)
struct-evidence (resolve-type-tags init-type)]
@@ -4516,7 +4515,7 @@
(function (recur source [tags members] target)
(let [pattern (record$ (list/map (function (_ [t-module t-name])
[(tag$ [t-module t-name])
- (symbol$ ["" (text/compose prefix t-name)])])
+ (symbol$ ["" (de-alias t-name alias)])])
tags))]
(do Monad
[enhanced-target (monad/fold Monad
@@ -4525,7 +4524,7 @@
[m-structure (resolve-type-tags m-type)]
(case m-structure
(#Some m-tags&members)
- (recur ["" (text/compose prefix m-name)]
+ (recur ["" (de-alias m-name alias)]
m-tags&members
enhanced-target)
@@ -4622,7 +4621,7 @@
_
(fail "Wrong syntax for get@")))
-(def: (open-field prefix [module name] source type)
+(def: (open-field alias [module name] source type)
(-> Text Ident Code Type (Meta (List Code)))
(do Monad
[output (resolve-type-tags type)
@@ -4632,67 +4631,53 @@
(do Monad
[decls' (monad/map Monad
(: (-> [Ident Type] (Meta (List Code)))
- (function (_ [sname stype]) (open-field prefix sname source+ stype)))
+ (function (_ [sname stype]) (open-field alias sname source+ stype)))
(zip2 tags members))]
(return (list/join decls')))
_
- (return (list (` ("lux def" (~ (symbol$ ["" (text/compose prefix name)])) (~ source+)
+ (return (list (` ("lux def" (~ (symbol$ ["" (de-alias name alias)]))
+ (~ source+)
[(~ cursor-code) (#.Record #Nil)])))))))
(macro: #export (open: tokens)
{#.doc "## Opens a structure and generates a definition for each of its members (including nested members).
## For example:
- (open: \"i:\" Number)
+ (open: \"i:.\" Number)
## Will generate:
(def: i:+ (:: Number +))
(def: i:- (:: Number -))
(def: i:* (:: Number *))
- ...
-
- ## However, the prefix is optional.
- ## For example:
- (open: Number)
- ## Will generate:
- (def: + (:: Number +))
- (def: - (:: Number -))
- (def: * (:: Number *))
..."}
- (let [[prefix tokens'] (case tokens
- (^ (list& [_ (#Text prefix)] tokens'))
- [prefix tokens']
-
- tokens'
- ["" tokens'])]
- (case tokens'
- (^ (list struct))
- (case struct
- [_ (#Symbol struct-name)]
- (do Monad
- [struct-type (find-type struct-name)
- output (resolve-type-tags struct-type)
- #let [source (symbol$ struct-name)]]
- (case output
- (#Some [tags members])
- (do Monad
- [decls' (monad/map Monad (: (-> [Ident Type] (Meta (List Code)))
- (function (_ [sname stype])
- (open-field prefix sname source stype)))
- (zip2 tags members))]
- (return (list/join decls')))
-
- _
- (fail (text/compose "Can only \"open:\" structs: " (type/show struct-type)))))
+ (case tokens
+ (^ (list [_ (#Text alias)] struct))
+ (case struct
+ [_ (#Symbol struct-name)]
+ (do Monad
+ [struct-type (find-type struct-name)
+ output (resolve-type-tags struct-type)
+ #let [source (symbol$ struct-name)]]
+ (case output
+ (#Some [tags members])
+ (do Monad
+ [decls' (monad/map Monad (: (-> [Ident Type] (Meta (List Code)))
+ (function (_ [sname stype])
+ (open-field alias sname source stype)))
+ (zip2 tags members))]
+ (return (list/join decls')))
- _
- (do Monad
- [g!struct (gensym "struct")]
- (return (list (` ("lux def" (~ g!struct) (~ struct)
- [(~ cursor-code) (#.Record #Nil)]))
- (` (..open: (~ (text$ prefix)) (~ g!struct)))))))
+ _
+ (fail (text/compose "Can only \"open:\" structs: " (type/show struct-type)))))
_
- (fail "Wrong syntax for open:"))))
+ (do Monad
+ [g!struct (gensym "struct")]
+ (return (list (` ("lux def" (~ g!struct) (~ struct)
+ [(~ cursor-code) (#.Record #Nil)]))
+ (` (..open: (~ (text$ alias)) (~ g!struct)))))))
+
+ _
+ (fail "Wrong syntax for open:")))
(macro: #export (|>> tokens)
{#.doc "## Similar to the piping macro, but rather than taking an initial object to work on, creates a function for taking it.
@@ -4797,9 +4782,9 @@
#Nil))]))))
defs')
openings (join-map (: (-> Openings (List Code))
- (function (_ [prefix structs])
+ (function (_ [alias structs])
(list/map (function (_ name)
- (` (open: (~ (text$ prefix)) (~ (symbol$ [module-name name])))))
+ (` (open: (~ (text$ alias)) (~ (symbol$ [module-name name])))))
structs)))
r-opens)]]
(wrap (list/compose defs openings))
@@ -4830,8 +4815,8 @@
#Nothing
(list)))
- openings (list/map (function (_ [prefix structs])
- (form$ (list& (text$ prefix) (list/map local-symbol$ structs))))
+ openings (list/map (function (_ [alias structs])
+ (form$ (list& (text$ alias) (list/map local-symbol$ structs))))
r-opens)]
(` (..refer (~ (text$ module-name))
(~+ localizations)
@@ -4896,10 +4881,10 @@
(:: Codec encode 123)"}
(case tokens
(^ (list struct [_ (#Symbol member)]))
- (return (list (` (let [(^open) (~ struct)] (~ (symbol$ member))))))
+ (return (list (` (let [(^open ".") (~ struct)] (~ (symbol$ member))))))
(^ (list& struct [_ (#Symbol member)] args))
- (return (list (` ((let [(^open) (~ struct)] (~ (symbol$ member))) (~+ args)))))
+ (return (list (` ((let [(^open ".") (~ struct)] (~ (symbol$ member))) (~+ args)))))
_
(fail "Wrong syntax for ::")))
diff --git a/stdlib/source/lux/cli.lux b/stdlib/source/lux/cli.lux
index 10b225077..9dc6a10ce 100644
--- a/stdlib/source/lux/cli.lux
+++ b/stdlib/source/lux/cli.lux
@@ -5,8 +5,8 @@
["p" parser]]
[data
[collection
- [list ("list/" Monoid Monad)]]
- ["." text ("text/" Equivalence)
+ [list ("list/." Monoid Monad)]]
+ ["." text ("text/." Equivalence)
format]
["E" error]]
["." io]
diff --git a/stdlib/source/lux/concurrency/actor.lux b/stdlib/source/lux/concurrency/actor.lux
index 971bbe01e..52bf7621d 100644
--- a/stdlib/source/lux/concurrency/actor.lux
+++ b/stdlib/source/lux/concurrency/actor.lux
@@ -3,14 +3,14 @@
[control monad
["p" parser]
["ex" exception (#+ exception:)]]
- ["." io (#- run) ("io/" Monad)]
+ ["." io (#- run) ("io/." Monad)]
[data
["." product]
["e" error]
[text
format]
[collection
- ["." list ("list/" Monoid Monad Fold)]]]
+ ["." list ("list/." Monoid Monad Fold)]]]
["." macro (#+ with-gensyms Monad)
["." code]
["s" syntax (#+ syntax: Syntax)]
@@ -23,7 +23,7 @@
abstract]]
[//
["." atom (#+ Atom atom)]
- ["." promise (#+ Promise promise) ("promise/" Monad)]
+ ["." promise (#+ Promise promise) ("promise/." Monad)]
["." task (#+ Task)]])
(exception: #export poisoned)
diff --git a/stdlib/source/lux/concurrency/frp.lux b/stdlib/source/lux/concurrency/frp.lux
index 0e777ce7a..d188a90da 100644
--- a/stdlib/source/lux/concurrency/frp.lux
+++ b/stdlib/source/lux/concurrency/frp.lux
@@ -7,7 +7,7 @@
["." io (#+ IO io)]
[data
[collection
- [list ("list/" Monoid)]]]
+ [list ("list/." Monoid)]]]
[type
abstract]]
[//
diff --git a/stdlib/source/lux/concurrency/stm.lux b/stdlib/source/lux/concurrency/stm.lux
index b19188a86..d736baf2e 100644
--- a/stdlib/source/lux/concurrency/stm.lux
+++ b/stdlib/source/lux/concurrency/stm.lux
@@ -9,11 +9,11 @@
["." product]
["." maybe]
[collection
- ["." list ("list/" Functor Fold)]]]
+ ["." list ("list/." Functor Fold)]]]
[concurrency
["." atom (#+ Atom atom)]
["." promise (#+ Promise promise)]
- ["." frp ("frp/" Functor)]]
+ ["." frp ("frp/." Functor)]]
[type
abstract]])
diff --git a/stdlib/source/lux/control/comonad.lux b/stdlib/source/lux/control/comonad.lux
index 4e294d00e..397d41f55 100644
--- a/stdlib/source/lux/control/comonad.lux
+++ b/stdlib/source/lux/control/comonad.lux
@@ -2,7 +2,7 @@
[lux #*
[data
[collection
- ["." list ("list/" Fold)]]]]
+ ["." list ("list/." Fold)]]]]
[//
["F" functor]])
diff --git a/stdlib/source/lux/control/concatenative.lux b/stdlib/source/lux/control/concatenative.lux
index 7eb662a2e..f52ff2353 100644
--- a/stdlib/source/lux/control/concatenative.lux
+++ b/stdlib/source/lux/control/concatenative.lux
@@ -5,14 +5,14 @@
r/+ r/- r/* r// r/% r/= r/< r/<= r/> r/>=
f/+ f/- f/* f// f/% f/= f/< f/<= f/> f/>=)
[control
- ["p" parser ("parser/" Monad)]
+ ["p" parser ("parser/." Monad)]
["." monad]]
[data
["." text
format]
- ["." maybe ("maybe/" Monad)]
+ ["." maybe ("maybe/." Monad)]
[collection
- ["." list ("list/" Fold Functor)]]]
+ ["." list ("list/." Fold Functor)]]]
["." macro (#+ with-gensyms Monad)
["." code]
["s" syntax (#+ syntax:)]
diff --git a/stdlib/source/lux/control/enum.lux b/stdlib/source/lux/control/enum.lux
index 4dc825508..b5b69faf1 100644
--- a/stdlib/source/lux/control/enum.lux
+++ b/stdlib/source/lux/control/enum.lux
@@ -17,7 +17,7 @@
(#.Cons from (range' <= succ (succ from) to))
#.Nil))
-(def: #export (range (^open) from to)
+(def: #export (range (^open ".") from to)
{#.doc "An inclusive [from, to] range of values."}
(All [a] (-> (Enum a) a a (List a)))
(range' <= succ from to))
diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux
index 9983a7ce4..f2635b6b2 100644
--- a/stdlib/source/lux/control/exception.lux
+++ b/stdlib/source/lux/control/exception.lux
@@ -7,9 +7,9 @@
["/" error (#+ Error)]
["." maybe]
["." product]
- ["." text ("text/" Monoid)]
+ ["." text ("text/." Monoid)]
[collection
- ["." list ("list/" Functor Fold)]]]
+ ["." list ("list/." Functor Fold)]]]
["." macro
["." code]
["s" syntax (#+ syntax: Syntax)]
diff --git a/stdlib/source/lux/control/interval.lux b/stdlib/source/lux/control/interval.lux
index a7de8246f..5e94aea90 100644
--- a/stdlib/source/lux/control/interval.lux
+++ b/stdlib/source/lux/control/interval.lux
@@ -32,7 +32,7 @@
(do-template [ ]
[(def: #export ( interval)
(All [a] (-> (Interval a) Bit))
- (let [(^open) interval]
+ (let [(^open ".") interval]
( bottom top)))]
[inner? >]
@@ -42,7 +42,7 @@
(def: #export (within? interval elem)
(All [a] (-> (Interval a) a Bit))
- (let [(^open) interval]
+ (let [(^open ".") interval]
(cond (inner? interval)
(and (>= bottom elem)
(<= top elem))
@@ -58,7 +58,7 @@
(do-template [ ]
[(def: #export ( elem interval)
(All [a] (-> a (Interval a) Bit))
- (let [(^open) interval]
+ (let [(^open ".") interval]
(= elem)))]
[starts-with? bottom]
@@ -84,14 +84,14 @@
(def: #export (complement interval)
(All [a] (-> (Interval a) (Interval a)))
- (let [(^open) interval]
+ (let [(^open ".") interval]
(structure (def: enum (get@ #enum interval))
(def: bottom (succ top))
(def: top (pred bottom)))))
(def: #export (precedes? reference sample)
(All [a] (-> (Interval a) (Interval a) Bit))
- (let [(^open) reference
+ (let [(^open ".") reference
limit (:: reference bottom)]
(and (< limit (:: sample bottom))
(< limit (:: sample top)))))
@@ -102,7 +102,7 @@
(def: #export (meets? reference sample)
(All [a] (-> (Interval a) (Interval a) Bit))
- (let [(^open) reference
+ (let [(^open ".") reference
limit (:: reference bottom)]
(and (<= limit (:: sample bottom))
(= limit (:: sample top)))))
@@ -115,7 +115,7 @@
(do-template [ ]
[(def: #export ( reference sample)
(All [a] (-> (Interval a) (Interval a) Bit))
- (let [(^open) reference]
+ (let [(^open ".") reference]
(and (= (:: reference ) (:: sample ))
( (:: reference ) (:: sample )))))]
@@ -126,7 +126,7 @@
(do-template [ ]
[(def: #export ( reference sample)
(All [a] (-> a (Interval a) Bit))
- (let [(^open) sample]
+ (let [(^open ".") sample]
(and ( reference bottom)
( reference top))))]
@@ -136,7 +136,7 @@
(structure: #export Equivalence (All [a] (Equivalence (Interval a)))
(def: (= reference sample)
- (let [(^open) reference]
+ (let [(^open ".") reference]
(and (= bottom (:: sample bottom))
(= top (:: sample top))))))
@@ -145,7 +145,7 @@
(cond (or (singleton? sample)
(and (inner? reference) (inner? sample))
(and (outer? reference) (outer? sample)))
- (let [(^open) reference]
+ (let [(^open ".") reference]
(and (>= (:: reference bottom) (:: sample bottom))
(<= (:: reference top) (:: sample top))))
@@ -154,7 +154,7 @@
#0
## (and (outer? reference) (inner? sample))
- (let [(^open) reference]
+ (let [(^open ".") reference]
(or (and (>= (:: reference bottom) (:: sample bottom))
(> (:: reference bottom) (:: sample top)))
(and (< (:: reference top) (:: sample bottom))
@@ -163,7 +163,7 @@
(def: #export (overlaps? reference sample)
(All [a] (-> (Interval a) (Interval a) Bit))
- (let [(^open) reference]
+ (let [(^open ".") reference]
(and (not (:: Equivalence = reference sample))
(cond (singleton? sample)
#0
diff --git a/stdlib/source/lux/control/monad/indexed.lux b/stdlib/source/lux/control/monad/indexed.lux
index 576428512..af83464d4 100644
--- a/stdlib/source/lux/control/monad/indexed.lux
+++ b/stdlib/source/lux/control/monad/indexed.lux
@@ -5,7 +5,7 @@
["p" parser]]
[data
[collection
- ["." list ("list/" Functor Fold)]]]
+ ["." list ("list/." Functor Fold)]]]
["." macro
["s" syntax (#+ Syntax syntax:)]]])
diff --git a/stdlib/source/lux/control/monoid.lux b/stdlib/source/lux/control/monoid.lux
index b841043ab..4976830b6 100644
--- a/stdlib/source/lux/control/monoid.lux
+++ b/stdlib/source/lux/control/monoid.lux
@@ -22,5 +22,5 @@
(def: #export (fold Monoid Fold data)
(All [a F] (-> (Monoid a) (Fold F) (F a) a))
- (let [(^open "a/") Monoid]
+ (let [(^open "a/.") Monoid]
(:: Fold fold a/compose a/identity data)))
diff --git a/stdlib/source/lux/control/parser.lux b/stdlib/source/lux/control/parser.lux
index 369e4a193..2f25d13da 100644
--- a/stdlib/source/lux/control/parser.lux
+++ b/stdlib/source/lux/control/parser.lux
@@ -7,7 +7,7 @@
[codec (#+ Codec)]]
[data
[collection
- ["." list ("list/" Functor Monoid)]]
+ ["." list ("list/." Functor Monoid)]]
["." product]
["e" error (#+ Error)]]])
diff --git a/stdlib/source/lux/control/pipe.lux b/stdlib/source/lux/control/pipe.lux
index 2a6f4804c..a8fefb938 100644
--- a/stdlib/source/lux/control/pipe.lux
+++ b/stdlib/source/lux/control/pipe.lux
@@ -6,7 +6,7 @@
[data
["e" error]
[collection
- ["." list ("list/" Fold Monad)]]]
+ ["." list ("list/." Fold Monad)]]]
[macro (#+ with-gensyms)
["s" syntax (#+ syntax: Syntax)]
["." code]]])
diff --git a/stdlib/source/lux/control/region.lux b/stdlib/source/lux/control/region.lux
index 8b0b15a69..7bd43bd09 100644
--- a/stdlib/source/lux/control/region.lux
+++ b/stdlib/source/lux/control/region.lux
@@ -10,7 +10,7 @@
[text
format]
[collection
- [list ("list/" Fold)]]]])
+ [list ("list/." Fold)]]]])
(type: (Cleaner r m)
(-> r (m (Error Any))))
diff --git a/stdlib/source/lux/data/collection/array.lux b/stdlib/source/lux/data/collection/array.lux
index 451e4c5f2..1a9e191a8 100644
--- a/stdlib/source/lux/data/collection/array.lux
+++ b/stdlib/source/lux/data/collection/array.lux
@@ -8,7 +8,7 @@
[predicate (#+ Predicate)]]
[data
[collection
- ["." list ("list/" Fold)]]
+ ["." list ("list/." Fold)]]
["." product]]])
(def: #export (new size)
diff --git a/stdlib/source/lux/data/collection/bits.lux b/stdlib/source/lux/data/collection/bits.lux
index 803654c6c..988a5b1dc 100644
--- a/stdlib/source/lux/data/collection/bits.lux
+++ b/stdlib/source/lux/data/collection/bits.lux
@@ -10,7 +10,7 @@
[text
format]
[collection
- ["." array ("array/" Fold)]]]])
+ ["." array ("array/." Fold)]]]])
(type: #export Chunk I64)
diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux
index adea785cf..49465c123 100644
--- a/stdlib/source/lux/data/collection/dictionary.lux
+++ b/stdlib/source/lux/data/collection/dictionary.lux
@@ -9,8 +9,8 @@
["." number
["." i64]]
[collection
- ["." list ("list/" Fold Functor Monoid)]
- ["." array ("array/" Functor Fold)]]]
+ ["." list ("list/." Fold Functor Monoid)]
+ ["." array ("array/." Functor Fold)]]]
])
## This implementation of Hash Array Mapped Trie (HAMT) is based on
diff --git a/stdlib/source/lux/data/collection/dictionary/ordered.lux b/stdlib/source/lux/data/collection/dictionary/ordered.lux
index 96e989300..9e9a2ea8d 100644
--- a/stdlib/source/lux/data/collection/dictionary/ordered.lux
+++ b/stdlib/source/lux/data/collection/dictionary/ordered.lux
@@ -8,7 +8,7 @@
["p" product]
["." maybe]
[collection
- [list ("list/" Monoid Fold)]]]
+ [list ("list/." Monoid Fold)]]]
["." macro
["." code]
["s" syntax (#+ syntax: Syntax)]]])
@@ -50,7 +50,7 @@
## TODO: Must improve it as soon as bug is fixed.
(def: #export (get key dict)
(All [k v] (-> k (Dictionary k v) (Maybe v)))
- (let [## (^open "T/") (get@ #order dict)
+ (let [## (^open "T/.") (get@ #order dict)
]
(loop [node (get@ #root dict)]
(case node
@@ -73,7 +73,7 @@
(def: #export (contains? key dict)
(All [k v] (-> k (Dictionary k v) Bit))
- (let [## (^open "T/") (get@ #order dict)
+ (let [## (^open "T/.") (get@ #order dict)
]
(loop [node (get@ #root dict)]
(case node
@@ -246,7 +246,7 @@
(def: #export (put key value dict)
(All [k v] (-> k v (Dictionary k v) (Dictionary k v)))
- (let [(^open "T/") (get@ #order dict)
+ (let [(^open "T/.") (get@ #order dict)
root' (loop [?root (get@ #root dict)]
(case ?root
#.None
@@ -469,7 +469,7 @@
(def: #export (remove key dict)
(All [k v] (-> k (Dictionary k v) (Dictionary k v)))
- (let [(^open "T/") (get@ #order dict)
+ (let [(^open "T/.") (get@ #order dict)
[?root found?] (loop [?root (get@ #root dict)]
(case ?root
#.None
diff --git a/stdlib/source/lux/data/collection/dictionary/plist.lux b/stdlib/source/lux/data/collection/dictionary/plist.lux
index 1f16dcd77..8b2bef218 100644
--- a/stdlib/source/lux/data/collection/dictionary/plist.lux
+++ b/stdlib/source/lux/data/collection/dictionary/plist.lux
@@ -1,7 +1,7 @@
(.module:
[lux #*
[data
- [text ("text/" Equivalence)]]])
+ [text ("text/." Equivalence)]]])
(type: #export (PList a)
(List [Text a]))
diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux
index 9746fdfae..671fbfe42 100644
--- a/stdlib/source/lux/data/collection/list.lux
+++ b/stdlib/source/lux/data/collection/list.lux
@@ -26,7 +26,7 @@
(#.Cons [x xs'])
(fold f (f x init) xs'))))
-(open: Fold)
+(open: "." Fold)
(def: #export (reverse xs)
(All [a]
@@ -289,7 +289,7 @@
#.Nil ys
(#.Cons x xs') (#.Cons x (compose xs' ys)))))
-(open: Monoid)
+(open: "." Monoid)
(structure: #export _ (Functor List)
(def: (map f ma)
@@ -297,7 +297,7 @@
#.Nil #.Nil
(#.Cons a ma') (#.Cons (f a) (map f ma')))))
-(open: Functor)
+(open: "." Functor)
(structure: #export _ (Apply List)
(def: functor Functor)
@@ -414,7 +414,7 @@
(case tokens
(^ (list [_ (#.Nat num-lists)]))
(if (n/> +0 num-lists)
- (let [(^open) Functor
+ (let [(^open ".") Functor
indices (n/range +0 (dec num-lists))
type-vars (: (List Code) (map (|>> nat/encode symbol$) indices))
zip-type (` (All [(~+ type-vars)]
@@ -458,7 +458,7 @@
(case tokens
(^ (list [_ (#.Nat num-lists)]))
(if (n/> +0 num-lists)
- (let [(^open) Functor
+ (let [(^open ".") Functor
indices (n/range +0 (dec num-lists))
g!return-type (symbol$ "\treturn-type\t")
g!func (symbol$ "\tfunc\t")
diff --git a/stdlib/source/lux/data/collection/queue.lux b/stdlib/source/lux/data/collection/queue.lux
index 76aed3a63..4973b925e 100644
--- a/stdlib/source/lux/data/collection/queue.lux
+++ b/stdlib/source/lux/data/collection/queue.lux
@@ -5,7 +5,7 @@
["F" functor]]
[data
[collection
- ["." list ("list/" Monoid Functor)]]]])
+ ["." list ("list/." Monoid Functor)]]]])
(type: #export (Queue a)
{#front (List a)
diff --git a/stdlib/source/lux/data/collection/queue/priority.lux b/stdlib/source/lux/data/collection/queue/priority.lux
index 0e86ae070..ee1e5c1ca 100644
--- a/stdlib/source/lux/data/collection/queue/priority.lux
+++ b/stdlib/source/lux/data/collection/queue/priority.lux
@@ -5,7 +5,7 @@
[monad (#+ do Monad)]]
[data
["." maybe]
- ["." number ("nat/" Interval)]
+ ["." number ("nat/." Interval)]
[collection
[tree
["." finger (#+ Tree)]]]]])
diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux
index 7974c4a90..1a12e3d9f 100644
--- a/stdlib/source/lux/data/collection/row.lux
+++ b/stdlib/source/lux/data/collection/row.lux
@@ -15,8 +15,8 @@
[number
["." i64]]
[collection
- ["." list ("list/" Fold Functor Monoid)]
- ["." array ("array/" Functor Fold)]]]
+ ["." list ("list/." Fold Functor Monoid)]
+ ["." array ("array/." Functor Fold)]]]
[macro (#+ with-gensyms)
["." code]
["s" syntax (#+ syntax: Syntax)]]])
@@ -362,7 +362,7 @@
(structure: #export (Equivalence Equivalence) (All [a] (-> (Equivalence a) (Equivalence (Row a))))
(def: (= v1 v2)
(and (n/= (get@ #size v1) (get@ #size v2))
- (let [(^open "Node/") (Equivalence Equivalence)]
+ (let [(^open "Node/.") (Equivalence Equivalence)]
(and (Node/= (#Base (get@ #tail v1))
(#Base (get@ #tail v2)))
(Node/= (#Hierarchy (get@ #root v1))
@@ -382,7 +382,7 @@
(structure: #export _ (Fold Row)
(def: (fold f init xs)
- (let [(^open) Fold]
+ (let [(^open ".") Fold]
(fold f
(fold f
init
@@ -417,9 +417,9 @@
(def: functor Functor)
(def: (apply ff fa)
- (let [(^open) Functor
- (^open) Fold
- (^open) Monoid
+ (let [(^open ".") Functor
+ (^open ".") Fold
+ (^open ".") Monoid
results (map (function (_ f) (map f fa))
ff)]
(fold compose identity results))))
@@ -430,14 +430,14 @@
(def: wrap (|>> row))
(def: join
- (let [(^open) Fold
- (^open) Monoid]
+ (let [(^open ".") Fold
+ (^open ".") Monoid]
(fold (function (_ post pre) (compose pre post)) identity))))
(def: #export reverse
(All [a] (-> (Row a) (Row a)))
- (let [(^open) Fold
- (^open) Monoid]
+ (let [(^open ".") Fold
+ (^open ".") Monoid]
(fold add identity)))
(do-template [ ]
diff --git a/stdlib/source/lux/data/collection/sequence.lux b/stdlib/source/lux/data/collection/sequence.lux
index d68116ae4..2f9cf3722 100644
--- a/stdlib/source/lux/data/collection/sequence.lux
+++ b/stdlib/source/lux/data/collection/sequence.lux
@@ -12,7 +12,7 @@
[data
bit
[collection
- [list ("list/" Monad)]]]])
+ [list ("list/." Monad)]]]])
## [Types]
(type: #export (Sequence a)
diff --git a/stdlib/source/lux/data/collection/set.lux b/stdlib/source/lux/data/collection/set.lux
index 00c02fabe..ef39c98e0 100644
--- a/stdlib/source/lux/data/collection/set.lux
+++ b/stdlib/source/lux/data/collection/set.lux
@@ -7,7 +7,7 @@
[data
[collection
["dict" dictionary (#+ Dictionary)]
- ["." list ("list/" Fold)]]]
+ ["." list ("list/." Fold)]]]
[type
abstract]])
diff --git a/stdlib/source/lux/data/collection/set/multi.lux b/stdlib/source/lux/data/collection/set/multi.lux
index e29cb126b..c4d67b8fe 100644
--- a/stdlib/source/lux/data/collection/set/multi.lux
+++ b/stdlib/source/lux/data/collection/set/multi.lux
@@ -12,7 +12,7 @@
[////
["." maybe]]
[///
- ["." list ("list/" Fold)]
+ ["." list ("list/." Fold)]
["." dictionary (#+ Dictionary)]]
["." //])
diff --git a/stdlib/source/lux/data/collection/set/ordered.lux b/stdlib/source/lux/data/collection/set/ordered.lux
index cccfb2768..02b0307f9 100644
--- a/stdlib/source/lux/data/collection/set/ordered.lux
+++ b/stdlib/source/lux/data/collection/set/ordered.lux
@@ -5,8 +5,9 @@
[order (#+ Order)]]
[data
[collection
- ["." list ("list/" Fold)]
- [dictionary ["//" ordered]]]]
+ ["." list ("list/." Fold)]
+ [dictionary
+ ["//" ordered]]]]
[type
abstract]])
diff --git a/stdlib/source/lux/data/collection/tree/rose.lux b/stdlib/source/lux/data/collection/tree/rose.lux
index 6732c0da4..414f44f31 100644
--- a/stdlib/source/lux/data/collection/tree/rose.lux
+++ b/stdlib/source/lux/data/collection/tree/rose.lux
@@ -8,7 +8,7 @@
fold]
[data
[collection
- ["." list ("list/" Monad Fold)]]]
+ ["." list ("list/." Monad Fold)]]]
["." macro
["." code]
["s" syntax (#+ syntax: Syntax)]]])
diff --git a/stdlib/source/lux/data/collection/tree/rose/zipper.lux b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
index 7d8412985..4181bd406 100644
--- a/stdlib/source/lux/data/collection/tree/rose/zipper.lux
+++ b/stdlib/source/lux/data/collection/tree/rose/zipper.lux
@@ -4,14 +4,14 @@
functor
comonad]
[data
- ["." maybe ("maybe/" Monad)]
+ ["." maybe ("maybe/." Monad)]
[collection
- ["." list ("list/" Functor Fold Monoid)]
+ ["." list ("list/." Functor Fold Monoid)]
["." stack (#+ Stack)]]]
["." macro
["." code]
["s" syntax (#+ syntax: Syntax)]]]
- ["." // (#+ Tree) ("tree/" Functor)])
+ ["." // (#+ Tree) ("tree/." Functor)])
## Adapted from the clojure.zip namespace in the Clojure standard library.
diff --git a/stdlib/source/lux/data/color.lux b/stdlib/source/lux/data/color.lux
index 50beed6d9..8ff70f96c 100644
--- a/stdlib/source/lux/data/color.lux
+++ b/stdlib/source/lux/data/color.lux
@@ -3,7 +3,7 @@
[control ["eq" equivalence]]
[data
[collection
- ["." list ("list/" Functor)]]]
+ ["." list ("list/." Functor)]]]
["." math]
[type
abstract]])
diff --git a/stdlib/source/lux/data/format/css.lux b/stdlib/source/lux/data/format/css.lux
index e2b2737d2..133beac38 100644
--- a/stdlib/source/lux/data/format/css.lux
+++ b/stdlib/source/lux/data/format/css.lux
@@ -6,7 +6,7 @@
["." text
format]
[collection
- ["." list ("list/" Functor Monoid)]]]])
+ ["." list ("list/." Functor Monoid)]]]])
(type: #export Selector
Text)
diff --git a/stdlib/source/lux/data/format/html.lux b/stdlib/source/lux/data/format/html.lux
index b63993b3b..cc5e6d0e9 100644
--- a/stdlib/source/lux/data/format/html.lux
+++ b/stdlib/source/lux/data/format/html.lux
@@ -3,7 +3,7 @@
[data
["." text
format]
- [collection [list ("list/" Functor)]]]])
+ [collection [list ("list/." Functor)]]]])
(type: #export Attributes
{#.doc "Attributes for an HTML tag."}
diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux
index 764beab83..79510cb5c 100644
--- a/stdlib/source/lux/data/format/json.lux
+++ b/stdlib/source/lux/data/format/json.lux
@@ -6,19 +6,19 @@
["." monad (#+ do Monad)]
[equivalence (#+ Equivalence)]
codec
- ["p" parser ("parser/" Monad)]]
+ ["p" parser ("parser/." Monad)]]
[data
["." bit]
["." maybe]
["e" error]
["." sum]
["." product]
- ["." number ("frac/" Codec) ("nat/" Codec)]
- ["." text ("text/" Equivalence Monoid)
+ ["." number ("frac/." Codec) ("nat/." Codec)]
+ ["." text ("text/." Equivalence Monoid)
["l" lexer]]
[collection
- ["." list ("list/" Fold Monad)]
- ["." row (#+ Row row) ("row/" Monad)]
+ ["." list ("list/." Fold Monad)]
+ ["." row (#+ Row row) ("row/." Monad)]
["dict" dictionary (#+ Dictionary)]]]
["." macro (#+ Monad with-gensyms)
["s" syntax (#+ syntax:)]
@@ -61,7 +61,7 @@
(json ["this" "is" "an" "array"])
(json {"this" "is"
"an" "object"}))}
- (let [(^open) Monad
+ (let [(^open ".") Monad
wrapper (function (_ x) (` (..json (~ x))))]
(case token
(^template [ ]
diff --git a/stdlib/source/lux/data/format/xml.lux b/stdlib/source/lux/data/format/xml.lux
index e58a29c96..5e92de080 100644
--- a/stdlib/source/lux/data/format/xml.lux
+++ b/stdlib/source/lux/data/format/xml.lux
@@ -4,17 +4,17 @@
monad
[equivalence (#+ Equivalence)]
codec
- ["p" parser ("parser/" Monad)]
+ ["p" parser ("parser/." Monad)]
["ex" exception (#+ exception:)]]
[data
["." number]
["E" error]
["." product]
- ["." ident ("ident/" Equivalence Codec)]
- ["." text ("text/" Equivalence Monoid)
+ ["." ident ("ident/." Equivalence Codec)]
+ ["." text ("text/." Equivalence Monoid)
["l" lexer]]
[collection
- ["." list ("list/" Monad)]
+ ["." list ("list/." Monad)]
["d" dictionary]]]])
(type: #export Tag Ident)
diff --git a/stdlib/source/lux/data/ident.lux b/stdlib/source/lux/data/ident.lux
index ab8f30ab6..27d45227f 100644
--- a/stdlib/source/lux/data/ident.lux
+++ b/stdlib/source/lux/data/ident.lux
@@ -5,7 +5,7 @@
[codec (#+ Codec)]
hash]
[data
- ["." text ("text/" Monoid Hash)]]])
+ ["." text ("text/." Monoid Hash)]]])
## [Types]
## (type: Ident
diff --git a/stdlib/source/lux/data/number/complex.lux b/stdlib/source/lux/data/number/complex.lux
index 496116755..cc725925b 100644
--- a/stdlib/source/lux/data/number/complex.lux
+++ b/stdlib/source/lux/data/number/complex.lux
@@ -9,10 +9,10 @@
["p" parser]]
[data
["." maybe]
- ["." number ("frac/" Number)]
- [text ("text/" Monoid)]
+ ["." number ("frac/." Number)]
+ [text ("text/." Monoid)]
[collection
- ["." list ("list/" Functor)]]]
+ ["." list ("list/." Functor)]]]
["." macro
["." code]
["s" syntax (#+ syntax: Syntax)]]])
diff --git a/stdlib/source/lux/data/number/ratio.lux b/stdlib/source/lux/data/number/ratio.lux
index ffa4432a5..0562dec72 100644
--- a/stdlib/source/lux/data/number/ratio.lux
+++ b/stdlib/source/lux/data/number/ratio.lux
@@ -11,8 +11,8 @@
["E" error]
["." product]
["." maybe]
- [number ("nat/" Codec)]
- ["." text ("text/" Monoid)
+ [number ("nat/." Codec)]
+ ["." text ("text/." Monoid)
format]]
["." math]
["." macro
diff --git a/stdlib/source/lux/data/text.lux b/stdlib/source/lux/data/text.lux
index 940349f05..c29783146 100644
--- a/stdlib/source/lux/data/text.lux
+++ b/stdlib/source/lux/data/text.lux
@@ -12,7 +12,7 @@
[number
["." i64]]
[collection
- ["." list ("list/" Fold)]]]
+ ["." list ("list/." Fold)]]]
[language
["." host]]])
@@ -192,7 +192,7 @@
(def: #export concat
(-> (List Text) Text)
- (let [(^open) Monoid]
+ (let [(^open ".") Monoid]
(|>> list.reverse (list/fold compose identity))))
(def: #export (join-with sep texts)
@@ -208,7 +208,7 @@
(def: #export (enclose [left right] content)
{#.doc "Surrounds the given content text with left and right side additions."}
(-> [Text Text] Text Text)
- (let [(^open) Monoid]
+ (let [(^open ".") Monoid]
($_ "lux text concat" left content right)))
(def: #export (enclose' boundary content)
diff --git a/stdlib/source/lux/data/text/buffer.lux b/stdlib/source/lux/data/text/buffer.lux
index a27015f7e..a7d3da76a 100644
--- a/stdlib/source/lux/data/text/buffer.lux
+++ b/stdlib/source/lux/data/text/buffer.lux
@@ -5,7 +5,7 @@
[text
format]
[collection
- ["." row (#+ Row) ("row/" Fold)]]]
+ ["." row (#+ Row) ("row/." Fold)]]]
[language
["_" host]]
[type
diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux
index af2b8beab..acab4c72b 100644
--- a/stdlib/source/lux/data/text/format.lux
+++ b/stdlib/source/lux/data/text/format.lux
@@ -12,7 +12,7 @@
["." xml]
["." json]]
[collection
- [list ("list/" Monad)]]]
+ [list ("list/." Monad)]]]
[time
["." instant]
["." duration]
diff --git a/stdlib/source/lux/data/text/lexer.lux b/stdlib/source/lux/data/text/lexer.lux
index 83e732471..bd7a0ff98 100644
--- a/stdlib/source/lux/data/text/lexer.lux
+++ b/stdlib/source/lux/data/text/lexer.lux
@@ -4,7 +4,7 @@
[monad (#+ do Monad)]
["p" parser]]
[data
- ["." text ("text/" Monoid)]
+ ["." text ("text/." Monoid)]
["." product]
["." maybe]
["e" error]
diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux
index c7cba31c8..34505d157 100644
--- a/stdlib/source/lux/data/text/regex.lux
+++ b/stdlib/source/lux/data/text/regex.lux
@@ -2,17 +2,17 @@
[lux #*
[control
monad
- ["p" parser ("parser/" Monad