diff options
Diffstat (limited to 'stdlib/source/lux')
169 files changed, 375 insertions, 273 deletions
diff --git a/stdlib/source/lux/control/algebra.lux b/stdlib/source/lux/abstract/algebra.lux index 2813ed0e7..2813ed0e7 100644 --- a/stdlib/source/lux/control/algebra.lux +++ b/stdlib/source/lux/abstract/algebra.lux diff --git a/stdlib/source/lux/control/apply.lux b/stdlib/source/lux/abstract/apply.lux index 5eb42b63d..5eb42b63d 100644 --- a/stdlib/source/lux/control/apply.lux +++ b/stdlib/source/lux/abstract/apply.lux diff --git a/stdlib/source/lux/control/codec.lux b/stdlib/source/lux/abstract/codec.lux index b51f76d97..abe80ba4a 100644 --- a/stdlib/source/lux/control/codec.lux +++ b/stdlib/source/lux/abstract/codec.lux @@ -1,11 +1,10 @@ (.module: [lux #* - [control - monad] [data - ["." error (#+ Error)]]]) + ["." error (#+ Error)]]] + [// + monad]) -## [Signatures] (signature: #export (Codec m a) {#.doc "A way to move back-and-forth between a type and an alternative representation for it."} (: (-> a m) @@ -13,7 +12,6 @@ (: (-> m (Error a)) decode)) -## [Values] (structure: #export (compose cb-codec ba-codec) {#.doc "Codec composition."} (All [a b c] diff --git a/stdlib/source/lux/control/comonad.lux b/stdlib/source/lux/abstract/comonad.lux index 1d6ac49e5..1d6ac49e5 100644 --- a/stdlib/source/lux/control/comonad.lux +++ b/stdlib/source/lux/abstract/comonad.lux diff --git a/stdlib/source/lux/control/enum.lux b/stdlib/source/lux/abstract/enum.lux index 9f2845b01..5bbb7df38 100644 --- a/stdlib/source/lux/control/enum.lux +++ b/stdlib/source/lux/abstract/enum.lux @@ -1,7 +1,7 @@ (.module: - [lux #* - [control - ["." order]]]) + [lux #*] + [// + ["." order]]) (signature: #export (Enum e) {#.doc "Enumerable types, with a notion of moving forward and backwards through a type's instances."} diff --git a/stdlib/source/lux/control/equivalence.lux b/stdlib/source/lux/abstract/equivalence.lux index 57db7a925..b773505de 100644 --- a/stdlib/source/lux/control/equivalence.lux +++ b/stdlib/source/lux/abstract/equivalence.lux @@ -1,7 +1,7 @@ (.module: - [lux #* - [control - [functor (#+ Contravariant)]]]) + [lux #*] + [// + [functor (#+ Contravariant)]]) (signature: #export (Equivalence a) {#.doc "Equivalence for a type's instances."} diff --git a/stdlib/source/lux/control/fold.lux b/stdlib/source/lux/abstract/fold.lux index 504f41f58..504f41f58 100644 --- a/stdlib/source/lux/control/fold.lux +++ b/stdlib/source/lux/abstract/fold.lux diff --git a/stdlib/source/lux/control/functor.lux b/stdlib/source/lux/abstract/functor.lux index 1ade0a45b..1ade0a45b 100644 --- a/stdlib/source/lux/control/functor.lux +++ b/stdlib/source/lux/abstract/functor.lux diff --git a/stdlib/source/lux/control/hash.lux b/stdlib/source/lux/abstract/hash.lux index d2dee3bcb..d2dee3bcb 100644 --- a/stdlib/source/lux/control/hash.lux +++ b/stdlib/source/lux/abstract/hash.lux diff --git a/stdlib/source/lux/control/interval.lux b/stdlib/source/lux/abstract/interval.lux index 046f5b77d..efb131843 100644 --- a/stdlib/source/lux/control/interval.lux +++ b/stdlib/source/lux/abstract/interval.lux @@ -1,9 +1,9 @@ (.module: - [lux #* - [control - [equivalence (#+ Equivalence)] - ["." order] - [enum (#+ Enum)]]]) + [lux #*] + [// + [equivalence (#+ Equivalence)] + ["." order] + [enum (#+ Enum)]]) (signature: #export (Interval a) {#.doc "A representation of top and bottom boundaries for an ordered type."} diff --git a/stdlib/source/lux/control/monad.lux b/stdlib/source/lux/abstract/monad.lux index 513f55b1e..0e509c64e 100644 --- a/stdlib/source/lux/control/monad.lux +++ b/stdlib/source/lux/abstract/monad.lux @@ -1,5 +1,5 @@ (.module: - lux + [lux #*] [// ["." functor (#+ Functor)]]) diff --git a/stdlib/source/lux/control/monad/free.lux b/stdlib/source/lux/abstract/monad/free.lux index 214261450..214261450 100644 --- a/stdlib/source/lux/control/monad/free.lux +++ b/stdlib/source/lux/abstract/monad/free.lux diff --git a/stdlib/source/lux/control/monad/indexed.lux b/stdlib/source/lux/abstract/monad/indexed.lux index 57a18c109..57a18c109 100644 --- a/stdlib/source/lux/control/monad/indexed.lux +++ b/stdlib/source/lux/abstract/monad/indexed.lux diff --git a/stdlib/source/lux/control/monoid.lux b/stdlib/source/lux/abstract/monoid.lux index 33d082020..33d082020 100644 --- a/stdlib/source/lux/control/monoid.lux +++ b/stdlib/source/lux/abstract/monoid.lux diff --git a/stdlib/source/lux/control/number.lux b/stdlib/source/lux/abstract/number.lux index b3a314ba5..b3a314ba5 100644 --- a/stdlib/source/lux/control/number.lux +++ b/stdlib/source/lux/abstract/number.lux diff --git a/stdlib/source/lux/control/order.lux b/stdlib/source/lux/abstract/order.lux index 68573b326..85b33fa18 100644 --- a/stdlib/source/lux/control/order.lux +++ b/stdlib/source/lux/abstract/order.lux @@ -1,9 +1,8 @@ (.module: [lux #* - [control - [functor (#+ Contravariant)]] function] [// + [functor (#+ Contravariant)] ["." equivalence (#+ Equivalence)]]) (`` (signature: #export (Order a) diff --git a/stdlib/source/lux/control/predicate.lux b/stdlib/source/lux/abstract/predicate.lux index 7d6433f33..faa1859b9 100644 --- a/stdlib/source/lux/control/predicate.lux +++ b/stdlib/source/lux/abstract/predicate.lux @@ -1,9 +1,9 @@ (.module: [lux #* - [control - [monoid (#+ Monoid)] - [functor (#+ Contravariant)]] - ["." function]]) + ["." function]] + [// + [monoid (#+ Monoid)] + [functor (#+ Contravariant)]]) (type: #export (Predicate a) (-> a Bit)) @@ -24,7 +24,9 @@ ) (template [<name> <identity> <composition>] - [(structure: #export <name> (All [a] (Monoid (Predicate a))) + [(structure: #export <name> + (All [a] (Monoid (Predicate a))) + (def: identity <identity>) (def: compose <composition>))] @@ -48,6 +50,8 @@ (Predicate a))) (|>> (predicate (rec predicate)))) -(structure: #export _ (Contravariant Predicate) +(structure: #export _ + (Contravariant Predicate) + (def: (map-1 f fb) (|>> f fb))) diff --git a/stdlib/source/lux/cli.lux b/stdlib/source/lux/cli.lux index 34f4fa31c..2ee55a9b5 100644 --- a/stdlib/source/lux/cli.lux +++ b/stdlib/source/lux/cli.lux @@ -1,19 +1,20 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control - monad ["p" parser (#+ Parser)] [concurrency ["." process]]] [data [collection - ["." list ("#;." monoid monad)]] - ["." text ("#;." equivalence) + ["." list ("#@." monoid monad)]] + ["." text ("#@." equivalence) format] ["." error (#+ Error)]] [macro (#+ with-gensyms) ["." code] - ["s" syntax (#+ syntax: Syntax)]] + ["s" syntax (#+ Syntax syntax:)]] [tool [compiler ["." host]]] @@ -63,7 +64,7 @@ (function (_ inputs) (do error.monad [[remaining raw] (any inputs)] - (if (text;= reference raw) + (if (text@= reference raw) (wrap [remaining []]) (error.fail (format "Missing token: '" reference "'")))))) @@ -131,7 +132,7 @@ (wrap []))) (program: [name] - (io (log! (text;compose "Hello, " name)))) + (io (log! (text@compose "Hello, " name)))) (program: [{config config^}] (do io.monad @@ -153,9 +154,9 @@ (case ((: (~! (..CLI (io.IO .Any))) ((~! do) (~! p.monad) [(~+ (|> args - (list;map (function (_ [binding parser]) + (list@map (function (_ [binding parser]) (list binding parser))) - list;join)) + list@join)) (~ g!_) ..end] ((~' wrap) ((~! do) (~! io.monad) [(~ g!output) (~ body) diff --git a/stdlib/source/lux/control/concatenative.lux b/stdlib/source/lux/control/concatenative.lux index 2ec99fe8f..9a20132fd 100644 --- a/stdlib/source/lux/control/concatenative.lux +++ b/stdlib/source/lux/control/concatenative.lux @@ -4,8 +4,7 @@ i/+ i/- i/* i// i/% i/= i/< i/<= i/> i/>= r/+ r/- r/* r// r/% r/= r/< r/<= r/> r/>= f/+ f/- f/* f// f/% f/= f/< f/<= f/> f/>=) - [control - ["p" parser ("#;." monad)] + [abstract ["." monad]] [data ["." text @@ -19,7 +18,9 @@ [syntax ["cs" common ["csr" reader] - ["csw" writer]]]]]) + ["csw" writer]]]]] + [// + ["p" parser ("#;." monad)]]) ## [Syntax] (type: Alias [Text Code]) diff --git a/stdlib/source/lux/control/concurrency/actor.lux b/stdlib/source/lux/control/concurrency/actor.lux index 133144a83..3384b7b66 100644 --- a/stdlib/source/lux/control/concurrency/actor.lux +++ b/stdlib/source/lux/control/concurrency/actor.lux @@ -1,7 +1,9 @@ (.module: {#.doc "The actor model of concurrency."} [lux #* ["." function] - [control monad + [abstract + monad] + [control ["p" parser] ["ex" exception (#+ exception:)]] ["." io (#+ IO io) ("#;." monad)] diff --git a/stdlib/source/lux/control/concurrency/atom.lux b/stdlib/source/lux/control/concurrency/atom.lux index a8fd975b2..6b88a0a4a 100644 --- a/stdlib/source/lux/control/concurrency/atom.lux +++ b/stdlib/source/lux/control/concurrency/atom.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)]] ["." function] ["." io (#- run)] diff --git a/stdlib/source/lux/control/concurrency/frp.lux b/stdlib/source/lux/control/concurrency/frp.lux index 907ffa97d..74212594f 100644 --- a/stdlib/source/lux/control/concurrency/frp.lux +++ b/stdlib/source/lux/control/concurrency/frp.lux @@ -1,12 +1,13 @@ (.module: [lux #* ["." io (#+ IO io)] - [control + [abstract [predicate (#+ Predicate)] [equivalence (#+ Equivalence)] [functor (#+ Functor)] [apply (#+ Apply)] - ["." monad (#+ Monad do)] + ["." monad (#+ Monad do)]] + [control ["ex" exception (#+ exception:)]] [data ["." maybe ("#@." functor)] diff --git a/stdlib/source/lux/control/concurrency/process.lux b/stdlib/source/lux/control/concurrency/process.lux index 018659ba1..96963a7f2 100644 --- a/stdlib/source/lux/control/concurrency/process.lux +++ b/stdlib/source/lux/control/concurrency/process.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] ["ex" exception (#+ exception:)]] [data [collection diff --git a/stdlib/source/lux/control/concurrency/promise.lux b/stdlib/source/lux/control/concurrency/promise.lux index fa8acc6d9..63f506c37 100644 --- a/stdlib/source/lux/control/concurrency/promise.lux +++ b/stdlib/source/lux/control/concurrency/promise.lux @@ -1,6 +1,6 @@ (.module: [lux (#- and or) - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] ["." monad (#+ Monad do)]] diff --git a/stdlib/source/lux/control/concurrency/semaphore.lux b/stdlib/source/lux/control/concurrency/semaphore.lux index 2bc5be651..1159e41e6 100644 --- a/stdlib/source/lux/control/concurrency/semaphore.lux +++ b/stdlib/source/lux/control/concurrency/semaphore.lux @@ -1,6 +1,7 @@ (.module: [lux #* - [control [monad (#+ do)]] + [abstract + [monad (#+ do)]] ["." io (#+ IO)] [type abstract diff --git a/stdlib/source/lux/control/concurrency/stm.lux b/stdlib/source/lux/control/concurrency/stm.lux index 1bc69f5e2..fce9cbd82 100644 --- a/stdlib/source/lux/control/concurrency/stm.lux +++ b/stdlib/source/lux/control/concurrency/stm.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] ["." monad (#+ do Monad)]] diff --git a/stdlib/source/lux/control/continuation.lux b/stdlib/source/lux/control/continuation.lux index 7a1fd7be8..e960e1fd3 100644 --- a/stdlib/source/lux/control/continuation.lux +++ b/stdlib/source/lux/control/continuation.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)]] diff --git a/stdlib/source/lux/control/contract.lux b/stdlib/source/lux/control/contract.lux index 065829f44..1add3be8f 100644 --- a/stdlib/source/lux/control/contract.lux +++ b/stdlib/source/lux/control/contract.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract monad] [data [text diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux index 71cfa3414..4472b047c 100644 --- a/stdlib/source/lux/control/exception.lux +++ b/stdlib/source/lux/control/exception.lux @@ -1,7 +1,8 @@ (.module: {#.doc "Exception-handling functionality built on top of the Error type."} [lux #* + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser]] [data ["//" error (#+ Error)] diff --git a/stdlib/source/lux/control/parser.lux b/stdlib/source/lux/control/parser.lux index 035576cab..84f63c548 100644 --- a/stdlib/source/lux/control/parser.lux +++ b/stdlib/source/lux/control/parser.lux @@ -1,6 +1,6 @@ (.module: [lux (#- or and not) - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)] @@ -15,7 +15,9 @@ {#.doc "A generic parser."} (-> s (Error [s a]))) -(structure: #export functor (All [s] (Functor (Parser s))) +(structure: #export functor + (All [s] (Functor (Parser s))) + (def: (map f ma) (function (_ input) (case (ma input) @@ -25,7 +27,9 @@ (#error.Success [input' a]) (#error.Success [input' (f a)]))))) -(structure: #export apply (All [s] (Apply (Parser s))) +(structure: #export apply + (All [s] (Apply (Parser s))) + (def: &functor ..functor) (def: (apply ff fa) @@ -42,7 +46,9 @@ (#error.Failure msg) (#error.Failure msg))))) -(structure: #export monad (All [s] (Monad (Parser s))) +(structure: #export monad + (All [s] (Monad (Parser s))) + (def: &functor ..functor) (def: (wrap x) diff --git a/stdlib/source/lux/control/pipe.lux b/stdlib/source/lux/control/pipe.lux index 8700217e2..b6381e7a6 100644 --- a/stdlib/source/lux/control/pipe.lux +++ b/stdlib/source/lux/control/pipe.lux @@ -1,7 +1,8 @@ (.module: {#.doc "Composable extensions to the piping macros (|> and <|) that enhance them with various abilities."} [lux #* + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser]] [data ["e" error] diff --git a/stdlib/source/lux/control/reader.lux b/stdlib/source/lux/control/reader.lux index 01b139b82..9236fb5a5 100644 --- a/stdlib/source/lux/control/reader.lux +++ b/stdlib/source/lux/control/reader.lux @@ -1,9 +1,9 @@ (.module: [lux #* - [control + [abstract ["." functor (#+ Functor)] [apply (#+ Apply)] - ["." monad (#+ do Monad)]]]) + ["." monad (#+ Monad do)]]]) (type: #export (Reader r a) {#.doc "Computations that have access to some environmental value."} diff --git a/stdlib/source/lux/control/region.lux b/stdlib/source/lux/control/region.lux index 596b1a0d4..0671e1c08 100644 --- a/stdlib/source/lux/control/region.lux +++ b/stdlib/source/lux/control/region.lux @@ -1,16 +1,17 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] - ["." monad (#+ Monad do)] - ["ex" exception (#+ Exception exception:)]] + ["." monad (#+ Monad do)]] [data ["." error (#+ Error)] ["." text format] [collection - ["." list ("#;." fold)]]]]) + ["." list ("#;." fold)]]]] + [// + ["ex" exception (#+ Exception exception:)]]) (type: (Cleaner r m) (-> r (m (Error Any)))) diff --git a/stdlib/source/lux/control/remember.lux b/stdlib/source/lux/control/remember.lux index 34bb38001..6d21a1948 100644 --- a/stdlib/source/lux/control/remember.lux +++ b/stdlib/source/lux/control/remember.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser ("#@." functor)] ["ex" exception (#+ exception:)]] [data diff --git a/stdlib/source/lux/control/security/capability.lux b/stdlib/source/lux/control/security/capability.lux index 595c573d5..4684c8bdf 100644 --- a/stdlib/source/lux/control/security/capability.lux +++ b/stdlib/source/lux/control/security/capability.lux @@ -1,8 +1,9 @@ (.module: [lux #* ["." io (#+ IO)] + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser] [concurrency ["." promise (#+ Promise)]]] diff --git a/stdlib/source/lux/control/security/integrity.lux b/stdlib/source/lux/control/security/integrity.lux index 81dee0c16..625f3c431 100644 --- a/stdlib/source/lux/control/security/integrity.lux +++ b/stdlib/source/lux/control/security/integrity.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad)]] diff --git a/stdlib/source/lux/control/security/privacy.lux b/stdlib/source/lux/control/security/privacy.lux index fe6a70233..4a54947b1 100644 --- a/stdlib/source/lux/control/security/privacy.lux +++ b/stdlib/source/lux/control/security/privacy.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad)]] diff --git a/stdlib/source/lux/control/state.lux b/stdlib/source/lux/control/state.lux index fc017f177..b4e958c6b 100644 --- a/stdlib/source/lux/control/state.lux +++ b/stdlib/source/lux/control/state.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)]]]) diff --git a/stdlib/source/lux/control/thread.lux b/stdlib/source/lux/control/thread.lux index c4625d6f5..e74dc1eb5 100644 --- a/stdlib/source/lux/control/thread.lux +++ b/stdlib/source/lux/control/thread.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)]] diff --git a/stdlib/source/lux/control/writer.lux b/stdlib/source/lux/control/writer.lux index 278fc9236..bbca0faa0 100644 --- a/stdlib/source/lux/control/writer.lux +++ b/stdlib/source/lux/control/writer.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract monoid ["." functor (#+ Functor)] [apply (#+ Apply)] diff --git a/stdlib/source/lux/data/bit.lux b/stdlib/source/lux/data/bit.lux index 72cfc096e..8c1b1d1b3 100644 --- a/stdlib/source/lux/data/bit.lux +++ b/stdlib/source/lux/data/bit.lux @@ -1,27 +1,34 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)] [equivalence (#+ Equivalence)] hash [codec (#+ Codec)]] - function]) + ["." function]]) -(structure: #export equivalence (Equivalence Bit) +(structure: #export equivalence + (Equivalence Bit) + (def: (= x y) (if x y (not y)))) -(structure: #export hash (Hash Bit) +(structure: #export hash + (Hash Bit) + (def: &equivalence ..equivalence) + (def: (hash value) (case value #1 1 #0 0))) (template [<name> <identity> <op>] - [(structure: #export <name> (Monoid Bit) + [(structure: #export <name> + (Monoid Bit) + (def: identity <identity>) (def: (compose x y) (<op> x y)))] @@ -45,4 +52,4 @@ {#.doc (doc "Generates the complement of a predicate." "That is a predicate that returns the oposite of the original predicate.")} (All [a] (-> (-> a Bit) (-> a Bit))) - (compose not)) + (function.compose not)) diff --git a/stdlib/source/lux/data/collection/array.lux b/stdlib/source/lux/data/collection/array.lux index 55e0ceb2b..946b6a3b4 100644 --- a/stdlib/source/lux/data/collection/array.lux +++ b/stdlib/source/lux/data/collection/array.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)] [functor (#+ Functor)] [equivalence (#+ Equivalence)] diff --git a/stdlib/source/lux/data/collection/bits.lux b/stdlib/source/lux/data/collection/bits.lux index 95732fe15..0e5f7a16e 100644 --- a/stdlib/source/lux/data/collection/bits.lux +++ b/stdlib/source/lux/data/collection/bits.lux @@ -1,7 +1,8 @@ (.module: [lux (#- not and or) + [abstract + [equivalence (#+ Equivalence)]] [control - [equivalence (#+ Equivalence)] pipe] [data ["." maybe] diff --git a/stdlib/source/lux/data/collection/dictionary.lux b/stdlib/source/lux/data/collection/dictionary.lux index a9c53ea18..3580b0ddd 100644 --- a/stdlib/source/lux/data/collection/dictionary.lux +++ b/stdlib/source/lux/data/collection/dictionary.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [hash (#+ Hash)] [equivalence (#+ Equivalence)] [functor (#+ Functor)]] diff --git a/stdlib/source/lux/data/collection/dictionary/ordered.lux b/stdlib/source/lux/data/collection/dictionary/ordered.lux index 5bd957364..58026984f 100644 --- a/stdlib/source/lux/data/collection/dictionary/ordered.lux +++ b/stdlib/source/lux/data/collection/dictionary/ordered.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ Monad do)] equivalence [order (#+ Order)]] diff --git a/stdlib/source/lux/data/collection/list.lux b/stdlib/source/lux/data/collection/list.lux index b2da3337b..bf4661ad4 100644 --- a/stdlib/source/lux/data/collection/list.lux +++ b/stdlib/source/lux/data/collection/list.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)] ["." functor (#+ Functor)] [apply (#+ Apply)] diff --git a/stdlib/source/lux/data/collection/queue.lux b/stdlib/source/lux/data/collection/queue.lux index 699440648..026190f2b 100644 --- a/stdlib/source/lux/data/collection/queue.lux +++ b/stdlib/source/lux/data/collection/queue.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [functor (#+ Functor)]] [data diff --git a/stdlib/source/lux/data/collection/queue/priority.lux b/stdlib/source/lux/data/collection/queue/priority.lux index 1e7d40022..34a87e51d 100644 --- a/stdlib/source/lux/data/collection/queue/priority.lux +++ b/stdlib/source/lux/data/collection/queue/priority.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [monad (#+ do Monad)]] [data diff --git a/stdlib/source/lux/data/collection/row.lux b/stdlib/source/lux/data/collection/row.lux index d56da4b79..2dc45312f 100644 --- a/stdlib/source/lux/data/collection/row.lux +++ b/stdlib/source/lux/data/collection/row.lux @@ -1,14 +1,15 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] - [monad (#+ do Monad)] + [monad (#+ Monad do)] [equivalence (#+ Equivalence)] - monoid - fold - ["p" parser] + [monoid (#+ Monoid)] + [fold (#+ Fold)] [predicate (#+ Predicate)]] + [control + ["p" parser]] [data ["." maybe] ["." product] @@ -338,7 +339,7 @@ (syntax: #export (row {elems (p.some s.any)}) {#.doc (doc "Row literals." (row +10 +20 +30 +40))} - (wrap (list (` (from-list (list (~+ elems))))))) + (wrap (list (` (..from-list (list (~+ elems))))))) (structure: #export (node-equivalence Equivalence<a>) (All [a] (-> (Equivalence a) (Equivalence (Node a)))) (def: (= v1 v2) diff --git a/stdlib/source/lux/data/collection/sequence.lux b/stdlib/source/lux/data/collection/sequence.lux index 720515c2d..07735cc26 100644 --- a/stdlib/source/lux/data/collection/sequence.lux +++ b/stdlib/source/lux/data/collection/sequence.lux @@ -1,9 +1,10 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] - [comonad (#+ CoMonad)] - ["." continuation (#+ pending Cont)] + [comonad (#+ CoMonad)]] + [control + ["." continuation (#+ Cont pending)] ["p" parser]] [macro (#+ with-gensyms) ["." code] diff --git a/stdlib/source/lux/data/collection/set.lux b/stdlib/source/lux/data/collection/set.lux index 5ab374b84..4c764b818 100644 --- a/stdlib/source/lux/data/collection/set.lux +++ b/stdlib/source/lux/data/collection/set.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [predicate (#+ Predicate)] [monoid (#+ Monoid)] diff --git a/stdlib/source/lux/data/collection/set/multi.lux b/stdlib/source/lux/data/collection/set/multi.lux index 012224e31..c11d4c558 100644 --- a/stdlib/source/lux/data/collection/set/multi.lux +++ b/stdlib/source/lux/data/collection/set/multi.lux @@ -1,7 +1,7 @@ ## https://en.wikipedia.org/wiki/Multiset (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [hash (#+ Hash)]] ["." function] diff --git a/stdlib/source/lux/data/collection/set/ordered.lux b/stdlib/source/lux/data/collection/set/ordered.lux index 4d607ce15..4f814c1ea 100644 --- a/stdlib/source/lux/data/collection/set/ordered.lux +++ b/stdlib/source/lux/data/collection/set/ordered.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)]] [data diff --git a/stdlib/source/lux/data/collection/stack.lux b/stdlib/source/lux/data/collection/stack.lux index d3a937cb4..089398ca5 100644 --- a/stdlib/source/lux/data/collection/stack.lux +++ b/stdlib/source/lux/data/collection/stack.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [functor (#+ Functor)]] [data diff --git a/stdlib/source/lux/data/collection/tree/finger.lux b/stdlib/source/lux/data/collection/tree/finger.lux index e3aed3b0d..f35129dff 100644 --- a/stdlib/source/lux/data/collection/tree/finger.lux +++ b/stdlib/source/lux/data/collection/tree/finger.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["m" monoid] [predicate (#+ Predicate)]] [data diff --git a/stdlib/source/lux/data/collection/tree/rose.lux b/stdlib/source/lux/data/collection/tree/rose.lux index 97cb840fb..ad64b72ed 100644 --- a/stdlib/source/lux/data/collection/tree/rose.lux +++ b/stdlib/source/lux/data/collection/tree/rose.lux @@ -1,11 +1,12 @@ (.module: [lux #* - [control + [abstract functor [monad (#+ do Monad)] equivalence - ["p" parser] fold] + [control + ["p" parser]] [data [collection ["." list ("#@." monad fold)]]] diff --git a/stdlib/source/lux/data/collection/tree/rose/zipper.lux b/stdlib/source/lux/data/collection/tree/rose/zipper.lux index 1a8ed4d5c..bac8961e3 100644 --- a/stdlib/source/lux/data/collection/tree/rose/zipper.lux +++ b/stdlib/source/lux/data/collection/tree/rose/zipper.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract functor comonad [equivalence (#+ Equivalence)]] diff --git a/stdlib/source/lux/data/color.lux b/stdlib/source/lux/data/color.lux index bd02c4087..60b87ab61 100644 --- a/stdlib/source/lux/data/color.lux +++ b/stdlib/source/lux/data/color.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)]] [data [number diff --git a/stdlib/source/lux/data/env.lux b/stdlib/source/lux/data/env.lux index 2c8d01fcd..7e4265e6a 100644 --- a/stdlib/source/lux/data/env.lux +++ b/stdlib/source/lux/data/env.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] comonad]]) diff --git a/stdlib/source/lux/data/error.lux b/stdlib/source/lux/data/error.lux index 3e7369ed3..c730ee5a5 100644 --- a/stdlib/source/lux/data/error.lux +++ b/stdlib/source/lux/data/error.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." functor (#+ Functor)] [apply (#+ Apply)] ["." monad (#+ Monad do)] @@ -10,7 +10,9 @@ (#Failure Text) (#Success a)) -(structure: #export functor (Functor Error) +(structure: #export functor + (Functor Error) + (def: (map f ma) (case ma (#Failure msg) @@ -19,7 +21,9 @@ (#Success datum) (#Success (f datum))))) -(structure: #export apply (Apply Error) +(structure: #export apply + (Apply Error) + (def: &functor ..functor) (def: (apply ff fa) @@ -36,7 +40,9 @@ (#Failure msg)) )) -(structure: #export monad (Monad Error) +(structure: #export monad + (Monad Error) + (def: &functor ..functor) (def: (wrap a) @@ -74,6 +80,7 @@ (structure: #export (equivalence (^open ",@.")) (All [a] (-> (Equivalence a) (Equivalence (Error a)))) + (def: (= reference sample) (case [reference sample] [(#Success reference) (#Success sample)] diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux index b794fe029..771d9f693 100644 --- a/stdlib/source/lux/data/format/binary.lux +++ b/stdlib/source/lux/data/format/binary.lux @@ -1,12 +1,13 @@ (.module: [lux (#- and or nat int rev list type) - [control + [abstract [monoid (#+ Monoid)] ["." fold] - [monad (#+ do Monad)] - ["." parser (#+ Parser) ("#;." functor)] - ["ex" exception (#+ exception:)] + [monad (#+ Monad do)] [equivalence (#+ Equivalence)]] + [control + ["." parser (#+ Parser) ("#;." functor)] + ["ex" exception (#+ exception:)]] [data ["." error (#+ Error)] [number diff --git a/stdlib/source/lux/data/format/context.lux b/stdlib/source/lux/data/format/context.lux index a89675393..6ef06085f 100644 --- a/stdlib/source/lux/data/format/context.lux +++ b/stdlib/source/lux/data/format/context.lux @@ -1,9 +1,10 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control [parser (#+ Parser)] - ["ex" exception (#+ exception:)] - [monad (#+ do)]] + ["ex" exception (#+ exception:)]] [data ["." error (#+ Error)] ["." text diff --git a/stdlib/source/lux/data/format/json.lux b/stdlib/source/lux/data/format/json.lux index b03cb5ae9..34fcf4dfb 100644 --- a/stdlib/source/lux/data/format/json.lux +++ b/stdlib/source/lux/data/format/json.lux @@ -1,11 +1,12 @@ (.module: {#.doc (.doc "Functionality for reading and writing values in the JSON format." "For more information, please see: http://www.json.org/")} [lux #* - [control - pipe + [abstract ["." monad (#+ Monad do)] [equivalence (#+ Equivalence)] - codec + codec] + [control + pipe ["p" parser (#+ Parser) ("#@." monad)] ["ex" exception (#+ exception:)]] [data diff --git a/stdlib/source/lux/data/format/xml.lux b/stdlib/source/lux/data/format/xml.lux index 85081f86c..6cd469e04 100644 --- a/stdlib/source/lux/data/format/xml.lux +++ b/stdlib/source/lux/data/format/xml.lux @@ -1,9 +1,10 @@ (.module: {#.doc "Functionality for reading, generating and processing values in the XML format."} [lux #* - [control + [abstract monad [equivalence (#+ Equivalence)] - codec + codec] + [control ["p" parser ("#;." monad)] ["ex" exception (#+ exception:)]] [data diff --git a/stdlib/source/lux/data/identity.lux b/stdlib/source/lux/data/identity.lux index 7793bd7f5..ff464a6f8 100644 --- a/stdlib/source/lux/data/identity.lux +++ b/stdlib/source/lux/data/identity.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad)] diff --git a/stdlib/source/lux/data/lazy.lux b/stdlib/source/lux/data/lazy.lux index dc889675a..82cd8ec51 100644 --- a/stdlib/source/lux/data/lazy.lux +++ b/stdlib/source/lux/data/lazy.lux @@ -1,11 +1,12 @@ (.module: [lux #* ["." io] - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)] - [equivalence (#+ Equivalence)] + [equivalence (#+ Equivalence)]] + [control [concurrency ["." atom]]] [macro (#+ with-gensyms) diff --git a/stdlib/source/lux/data/maybe.lux b/stdlib/source/lux/data/maybe.lux index e00b89234..b96e014b3 100644 --- a/stdlib/source/lux/data/maybe.lux +++ b/stdlib/source/lux/data/maybe.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)] ["." functor (#+ Functor)] [apply (#+ Apply)] diff --git a/stdlib/source/lux/data/name.lux b/stdlib/source/lux/data/name.lux index 286071169..59e004ea7 100644 --- a/stdlib/source/lux/data/name.lux +++ b/stdlib/source/lux/data/name.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [codec (#+ Codec)] hash] diff --git a/stdlib/source/lux/data/number.lux b/stdlib/source/lux/data/number.lux index e6b169fc4..0577258ca 100644 --- a/stdlib/source/lux/data/number.lux +++ b/stdlib/source/lux/data/number.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [codec (#+ Codec)]] [data ["." error (#+ Error)] diff --git a/stdlib/source/lux/data/number/complex.lux b/stdlib/source/lux/data/number/complex.lux index d8334d104..6c057ffb1 100644 --- a/stdlib/source/lux/data/number/complex.lux +++ b/stdlib/source/lux/data/number/complex.lux @@ -1,11 +1,12 @@ (.module: {#.doc "Complex arithmetic."} [lux #* ["." math] - [control + [abstract [equivalence (#+ Equivalence)] number codec - ["M" monad (#+ Monad do)] + ["M" monad (#+ Monad do)]] + [control ["p" parser]] [data ["." maybe] diff --git a/stdlib/source/lux/data/number/frac.lux b/stdlib/source/lux/data/number/frac.lux index f49f73039..790aee05b 100644 --- a/stdlib/source/lux/data/number/frac.lux +++ b/stdlib/source/lux/data/number/frac.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [hash (#+ Hash)] [number (#+ Number)] [monoid (#+ Monoid)] diff --git a/stdlib/source/lux/data/number/i64.lux b/stdlib/source/lux/data/number/i64.lux index ffce20b4c..dbc58b004 100644 --- a/stdlib/source/lux/data/number/i64.lux +++ b/stdlib/source/lux/data/number/i64.lux @@ -1,6 +1,6 @@ (.module: [lux (#- and or not) - [control + [abstract [monoid (#+ Monoid)]]]) (def: #export bits-per-byte 8) diff --git a/stdlib/source/lux/data/number/int.lux b/stdlib/source/lux/data/number/int.lux index f94049296..22b7aff23 100644 --- a/stdlib/source/lux/data/number/int.lux +++ b/stdlib/source/lux/data/number/int.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [hash (#+ Hash)] [number (#+ Number)] [enum (#+ Enum)] diff --git a/stdlib/source/lux/data/number/nat.lux b/stdlib/source/lux/data/number/nat.lux index c1f0ca420..5ca294df5 100644 --- a/stdlib/source/lux/data/number/nat.lux +++ b/stdlib/source/lux/data/number/nat.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [hash (#+ Hash)] [number (#+ Number)] [enum (#+ Enum)] diff --git a/stdlib/source/lux/data/number/ratio.lux b/stdlib/source/lux/data/number/ratio.lux index 49ce1f194..a501f9a1b 100644 --- a/stdlib/source/lux/data/number/ratio.lux +++ b/stdlib/source/lux/data/number/ratio.lux @@ -1,12 +1,13 @@ (.module: {#.doc "Rational numbers."} [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)] [monoid (#+ Monoid)] - number - codec - monad + [number (#+ Number)] + [codec (#+ Codec)] + [monad (#+ do)]] + [control ["p" parser]] [data ["." error] diff --git a/stdlib/source/lux/data/number/rev.lux b/stdlib/source/lux/data/number/rev.lux index bbb34c570..4738a72a0 100644 --- a/stdlib/source/lux/data/number/rev.lux +++ b/stdlib/source/lux/data/number/rev.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [hash (#+ Hash)] [number (#+ Number)] [enum (#+ Enum)] diff --git a/stdlib/source/lux/data/store.lux b/stdlib/source/lux/data/store.lux index 69ad7d734..36cc3e67d 100644 --- a/stdlib/source/lux/data/store.lux +++ b/stdlib/source/lux/data/store.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [functor (#+ Functor)] comonad] [type diff --git a/stdlib/source/lux/data/text.lux b/stdlib/source/lux/data/text.lux index 384d4e860..bf40c3ef7 100644 --- a/stdlib/source/lux/data/text.lux +++ b/stdlib/source/lux/data/text.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)] [equivalence (#+ Equivalence)] [order (#+ Order)] @@ -25,18 +25,18 @@ (-> Char Text) (|>> (:coerce Int) "lux int char")) -(template [<name> <code>] +(template [<code> <name>] [(def: #export <name> (from-code <code>))] - [null 0] - [alarm 7] - [back-space 8] - [tab 9] - [new-line 10] - [vertical-tab 11] - [form-feed 12] - [carriage-return 13] - [double-quote 34] + [00 null] + [07 alarm] + [08 back-space] + [09 tab] + [10 new-line] + [11 vertical-tab] + [12 form-feed] + [13 carriage-return] + [34 double-quote] ) (def: #export (size x) diff --git a/stdlib/source/lux/data/text/encoding.lux b/stdlib/source/lux/data/text/encoding.lux index 8f59bd530..b4372471c 100644 --- a/stdlib/source/lux/data/text/encoding.lux +++ b/stdlib/source/lux/data/text/encoding.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [codec (#+ Codec)]] [data ["." error (#+ Error)]] diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux index 0becf8633..a204e567b 100644 --- a/stdlib/source/lux/data/text/format.lux +++ b/stdlib/source/lux/data/text/format.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser]] [data ["." bit] diff --git a/stdlib/source/lux/data/text/lexer.lux b/stdlib/source/lux/data/text/lexer.lux index e5f19edf6..531d2ae64 100644 --- a/stdlib/source/lux/data/text/lexer.lux +++ b/stdlib/source/lux/data/text/lexer.lux @@ -1,7 +1,8 @@ (.module: [lux (#- or and not) + [abstract + [monad (#+ do Monad)]] [control - [monad (#+ do Monad)] ["p" parser] ["ex" exception (#+ exception:)]] [data diff --git a/stdlib/source/lux/data/text/regex.lux b/stdlib/source/lux/data/text/regex.lux index b94dbb73a..5e867b9b6 100644 --- a/stdlib/source/lux/data/text/regex.lux +++ b/stdlib/source/lux/data/text/regex.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + monad] [control - monad ["p" parser ("#@." monad)]] [data ["." product] diff --git a/stdlib/source/lux/data/text/unicode.lux b/stdlib/source/lux/data/text/unicode.lux index 11a98b358..a6fd13ebc 100644 --- a/stdlib/source/lux/data/text/unicode.lux +++ b/stdlib/source/lux/data/text/unicode.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." interval (#+ Interval)] [monoid (#+ Monoid)]] [data diff --git a/stdlib/source/lux/data/trace.lux b/stdlib/source/lux/data/trace.lux index 055d1758c..94e02ea6b 100644 --- a/stdlib/source/lux/data/trace.lux +++ b/stdlib/source/lux/data/trace.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monoid (#+ Monoid)] [functor (#+ Functor)] comonad] diff --git a/stdlib/source/lux/function.lux b/stdlib/source/lux/function.lux index 65202e361..5a33a2aae 100644 --- a/stdlib/source/lux/function.lux +++ b/stdlib/source/lux/function.lux @@ -1,13 +1,14 @@ (.module: [lux #* - [control + [abstract [monoid (#+ Monoid)]]]) (def: #export identity {#.doc (doc "Identity function." "Does nothing to it's argument and just returns it." - (= (identity "foo") - "foo"))} + (let [value "foo"] + (is? (identity value) + value)))} (All [a] (-> a a)) (|>>)) diff --git a/stdlib/source/lux/host.js.lux b/stdlib/source/lux/host.js.lux index bf24adc38..aec050642 100644 --- a/stdlib/source/lux/host.js.lux +++ b/stdlib/source/lux/host.js.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + monad] [control - monad ["p" parser]] [data [collection diff --git a/stdlib/source/lux/host.jvm.lux b/stdlib/source/lux/host.jvm.lux index e4891f56b..b829e21c9 100644 --- a/stdlib/source/lux/host.jvm.lux +++ b/stdlib/source/lux/host.jvm.lux @@ -1,8 +1,9 @@ (.module: [lux (#- type) + [abstract + ["." monad (#+ Monad do)] + ["." enum]] [control - ["." monad (#+ do Monad)] - ["." enum] ["p" parser]] [data ["." maybe] diff --git a/stdlib/source/lux/host/jvm/attribute.lux b/stdlib/source/lux/host/jvm/attribute.lux index 1bef206da..bcd3a3734 100644 --- a/stdlib/source/lux/host/jvm/attribute.lux +++ b/stdlib/source/lux/host/jvm/attribute.lux @@ -1,8 +1,9 @@ (.module: [lux (#- Info Code' Code) - [control + [abstract ["." equivalence (#+ Equivalence)] - [monad (#+ do)] + [monad (#+ do)]] + [control ["." state (#+ State)]] [data [format diff --git a/stdlib/source/lux/host/jvm/class.lux b/stdlib/source/lux/host/jvm/class.lux index 2474ffa69..6fb6f48d4 100644 --- a/stdlib/source/lux/host/jvm/class.lux +++ b/stdlib/source/lux/host/jvm/class.lux @@ -1,10 +1,11 @@ (.module: [lux #* - [control + [abstract ["." equivalence (#+ Equivalence)] [monoid (#+)] + ["." monad (#+ do)]] + [control [parser (#+)] - ["." monad (#+ do)] ["." state (#+ State)]] [data [number (#+) diff --git a/stdlib/source/lux/host/jvm/constant.lux b/stdlib/source/lux/host/jvm/constant.lux index d9fcc2731..3af24af55 100644 --- a/stdlib/source/lux/host/jvm/constant.lux +++ b/stdlib/source/lux/host/jvm/constant.lux @@ -1,9 +1,10 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)] - ["." parser] ["." equivalence (#+ Equivalence)]] + [control + ["." parser]] [data [number ["." int] diff --git a/stdlib/source/lux/host/jvm/constant/pool.lux b/stdlib/source/lux/host/jvm/constant/pool.lux index 846c0fa18..a304d5ac4 100644 --- a/stdlib/source/lux/host/jvm/constant/pool.lux +++ b/stdlib/source/lux/host/jvm/constant/pool.lux @@ -1,8 +1,9 @@ (.module: [lux #* - [control + [abstract ["." equivalence (#+ Equivalence)] - [monad (#+ do)] + [monad (#+ do)]] + [control ["." state (#+ State)]] [data ["." text ("#;." equivalence)] diff --git a/stdlib/source/lux/host/jvm/constant/tag.lux b/stdlib/source/lux/host/jvm/constant/tag.lux index 0339489f9..71e75f40b 100644 --- a/stdlib/source/lux/host/jvm/constant/tag.lux +++ b/stdlib/source/lux/host/jvm/constant/tag.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)]] [data [format diff --git a/stdlib/source/lux/host/jvm/encoding.lux b/stdlib/source/lux/host/jvm/encoding.lux index 7d7fb636d..33ac427c2 100644 --- a/stdlib/source/lux/host/jvm/encoding.lux +++ b/stdlib/source/lux/host/jvm/encoding.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + [equivalence (#+ Equivalence)]] [control - [equivalence (#+ Equivalence)] ["." parser ("#;." functor)]] [data [number diff --git a/stdlib/source/lux/host/jvm/field.lux b/stdlib/source/lux/host/jvm/field.lux index f40800790..930ca97d8 100644 --- a/stdlib/source/lux/host/jvm/field.lux +++ b/stdlib/source/lux/host/jvm/field.lux @@ -1,10 +1,11 @@ (.module: [lux (#- static) - [control + [abstract ["." equivalence (#+ Equivalence)] [monoid (#+)] + ["." monad (#+ do)]] + [control [parser (#+)] - ["." monad (#+ do)] ["." state (#+ State)]] [data [number (#+) diff --git a/stdlib/source/lux/host/jvm/index.lux b/stdlib/source/lux/host/jvm/index.lux index c7174f9d4..3a425dd32 100644 --- a/stdlib/source/lux/host/jvm/index.lux +++ b/stdlib/source/lux/host/jvm/index.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." equivalence (#+ Equivalence)]] [data [format diff --git a/stdlib/source/lux/host/jvm/loader.jvm.lux b/stdlib/source/lux/host/jvm/loader.jvm.lux index 03edd60cf..22e8a8352 100644 --- a/stdlib/source/lux/host/jvm/loader.jvm.lux +++ b/stdlib/source/lux/host/jvm/loader.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["ex" exception (#+ exception:)] [concurrency ["." atom (#+ Atom)]]] diff --git a/stdlib/source/lux/host/jvm/method.lux b/stdlib/source/lux/host/jvm/method.lux index e0ef63d3e..e4f3cdea2 100644 --- a/stdlib/source/lux/host/jvm/method.lux +++ b/stdlib/source/lux/host/jvm/method.lux @@ -1,10 +1,11 @@ (.module: [lux (#- static) - [control + [abstract ["." equivalence (#+ Equivalence)] [monoid (#+)] + ["." monad (#+ do)]] + [control [parser (#+)] - ["." monad (#+ do)] ["." state (#+ State)]] [data [number (#+) diff --git a/stdlib/source/lux/host/jvm/modifier.lux b/stdlib/source/lux/host/jvm/modifier.lux index e25e14b78..ac8d1b201 100644 --- a/stdlib/source/lux/host/jvm/modifier.lux +++ b/stdlib/source/lux/host/jvm/modifier.lux @@ -1,8 +1,9 @@ (.module: [lux #* - [control + [abstract ["." equivalence] - ["." monoid] + ["." monoid]] + [control ["." parser]] [data ["." number diff --git a/stdlib/source/lux/host/jvm/modifier/inner.lux b/stdlib/source/lux/host/jvm/modifier/inner.lux index 9f57965d0..2980ef6e4 100644 --- a/stdlib/source/lux/host/jvm/modifier/inner.lux +++ b/stdlib/source/lux/host/jvm/modifier/inner.lux @@ -1,8 +1,9 @@ (.module: [lux (#- static) - [control + [abstract [equivalence (#+)] - [monoid (#+)] + [monoid (#+)]] + [control [parser (#+)]] [data [number (#+) diff --git a/stdlib/source/lux/io.lux b/stdlib/source/lux/io.lux index 4da9fe897..4102ff9c4 100644 --- a/stdlib/source/lux/io.lux +++ b/stdlib/source/lux/io.lux @@ -1,6 +1,6 @@ (.module: {#.doc "A method for abstracting I/O and effectful computations to make it safe while writing pure functional code."} [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] [monad (#+ Monad do)]] diff --git a/stdlib/source/lux/locale.lux b/stdlib/source/lux/locale.lux index 3d0f3e532..1d6a4385f 100644 --- a/stdlib/source/lux/locale.lux +++ b/stdlib/source/lux/locale.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [hash (#+ Hash)]] [data diff --git a/stdlib/source/lux/locale/language.lux b/stdlib/source/lux/locale/language.lux index 1cfa9dd82..dbda89f73 100644 --- a/stdlib/source/lux/locale/language.lux +++ b/stdlib/source/lux/locale/language.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [hash (#+ Hash)]] [data diff --git a/stdlib/source/lux/locale/territory.lux b/stdlib/source/lux/locale/territory.lux index b37148bb2..dfd06f8c8 100644 --- a/stdlib/source/lux/locale/territory.lux +++ b/stdlib/source/lux/locale/territory.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [hash (#+ Hash)]] [data diff --git a/stdlib/source/lux/macro.lux b/stdlib/source/lux/macro.lux index 059351420..a3014c649 100644 --- a/stdlib/source/lux/macro.lux +++ b/stdlib/source/lux/macro.lux @@ -1,6 +1,6 @@ (.module: {#.doc "Functions for extracting information from the state of the compiler."} [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] ["." monad (#+ Monad do)]] diff --git a/stdlib/source/lux/macro/code.lux b/stdlib/source/lux/macro/code.lux index 84f08e5f1..ae7ba555c 100644 --- a/stdlib/source/lux/macro/code.lux +++ b/stdlib/source/lux/macro/code.lux @@ -1,6 +1,6 @@ (.module: [lux (#- nat int rev) - [control + [abstract ["." equivalence (#+ Equivalence)]] [data ["." bit] diff --git a/stdlib/source/lux/macro/poly.lux b/stdlib/source/lux/macro/poly.lux index 4f5cd09a0..31b293144 100644 --- a/stdlib/source/lux/macro/poly.lux +++ b/stdlib/source/lux/macro/poly.lux @@ -1,8 +1,9 @@ (.module: [lux (#- function) - [control + [abstract ["." monad (#+ Monad do)] - [equivalence] + [equivalence]] + [control ["p" parser] ["ex" exception (#+ exception:)]] ["." function] diff --git a/stdlib/source/lux/macro/poly/equivalence.lux b/stdlib/source/lux/macro/poly/equivalence.lux index cc0b79234..c39ad9412 100644 --- a/stdlib/source/lux/macro/poly/equivalence.lux +++ b/stdlib/source/lux/macro/poly/equivalence.lux @@ -1,8 +1,9 @@ (.module: [lux #* + [abstract + [monad (#+ Monad do)] + ["/" equivalence]] [control - [monad (#+ do Monad)] - ["eq" equivalence] ["p" parser]] [data ["." product] @@ -45,7 +46,7 @@ inputT poly.peek #let [@Equivalence (: (-> Type Code) (function (_ type) - (` ((~! eq.Equivalence) (~ (poly.to-code *env* type))))))]] + (` ((~! /.Equivalence) (~ (poly.to-code *env* type))))))]] ($_ p.either ## Basic types (~~ (template [<matcher> <eq>] @@ -135,8 +136,8 @@ [[g!self bodyC] (poly.recursive equivalence) #let [g!_ (code.local-identifier "_____________")]] (wrap (` (: (~ (@Equivalence inputT)) - ((~! eq.rec) (.function ((~ g!_) (~ g!self)) - (~ bodyC))))))) + ((~! /.rec) (.function ((~ g!_) (~ g!self)) + (~ bodyC))))))) poly.recursive-self ## Type applications (do @ @@ -148,8 +149,8 @@ (do @ [[funcC varsC bodyC] (poly.polymorphic equivalence)] (wrap (` (: (All [(~+ varsC)] - (-> (~+ (list@map (|>> (~) ((~! eq.Equivalence)) (`)) varsC)) - ((~! eq.Equivalence) ((~ (poly.to-code *env* inputT)) (~+ varsC))))) + (-> (~+ (list@map (|>> (~) ((~! /.Equivalence)) (`)) varsC)) + ((~! /.Equivalence) ((~ (poly.to-code *env* inputT)) (~+ varsC))))) (function ((~ funcC) (~+ varsC)) (~ bodyC)))))) poly.recursive-call diff --git a/stdlib/source/lux/macro/poly/functor.lux b/stdlib/source/lux/macro/poly/functor.lux index 6252378eb..947f08ac8 100644 --- a/stdlib/source/lux/macro/poly/functor.lux +++ b/stdlib/source/lux/macro/poly/functor.lux @@ -1,8 +1,9 @@ (.module: [lux #* + [abstract + [monad (#+ Monad do)] + ["." functor]] [control - [monad (#+ do Monad)] - ["." functor] ["p" parser]] [data ["." product] diff --git a/stdlib/source/lux/macro/poly/json.lux b/stdlib/source/lux/macro/poly/json.lux index cc5f3b5c9..f397de2a2 100644 --- a/stdlib/source/lux/macro/poly/json.lux +++ b/stdlib/source/lux/macro/poly/json.lux @@ -1,9 +1,10 @@ (.module: {#.doc "Codecs for values in the JSON format."} [lux #* - [control + [abstract [monad (#+ Monad do)] [equivalence (#+ Equivalence)] - ["." codec] + ["." codec]] + [control ["p" parser]] [data ["." bit] diff --git a/stdlib/source/lux/macro/syntax.lux b/stdlib/source/lux/macro/syntax.lux index 08bb3c978..90d8b0938 100644 --- a/stdlib/source/lux/macro/syntax.lux +++ b/stdlib/source/lux/macro/syntax.lux @@ -1,8 +1,9 @@ (.module: [lux (#- nat int rev) - [control + [abstract ["." monad (#+ Monad do)] - [equivalence (#+ Equivalence)] + [equivalence (#+ Equivalence)]] + [control ["p" parser]] [data ["." bit] diff --git a/stdlib/source/lux/macro/syntax/common/reader.lux b/stdlib/source/lux/macro/syntax/common/reader.lux index 6ad2e4d46..99277857f 100644 --- a/stdlib/source/lux/macro/syntax/common/reader.lux +++ b/stdlib/source/lux/macro/syntax/common/reader.lux @@ -1,7 +1,8 @@ (.module: {#.doc "Commons syntax readers."} [lux #* + [abstract + monad] [control - monad ["p" parser ("#;." monad)]] [data ["." name ("#;." equivalence)] diff --git a/stdlib/source/lux/macro/template.lux b/stdlib/source/lux/macro/template.lux index a69d656f6..ad1600856 100644 --- a/stdlib/source/lux/macro/template.lux +++ b/stdlib/source/lux/macro/template.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] ["p" parser ("#@." functor)]] [data ["." bit ("#@." codec)] diff --git a/stdlib/source/lux/math/infix.lux b/stdlib/source/lux/math/infix.lux index e2cfc455c..ecb309d13 100644 --- a/stdlib/source/lux/math/infix.lux +++ b/stdlib/source/lux/math/infix.lux @@ -1,7 +1,8 @@ (.module: {#.doc "Common mathematical constants and functions."} [lux #* + [abstract + monad] [control - monad ["p" parser ("#;." functor)]] [data ["." product] diff --git a/stdlib/source/lux/math/logic/fuzzy.lux b/stdlib/source/lux/math/logic/fuzzy.lux index 99bc2f8db..f27c51ec7 100644 --- a/stdlib/source/lux/math/logic/fuzzy.lux +++ b/stdlib/source/lux/math/logic/fuzzy.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [predicate (#+ Predicate)]] [data [collection diff --git a/stdlib/source/lux/math/modular.lux b/stdlib/source/lux/math/modular.lux index 866d3c99f..24c7b0e72 100644 --- a/stdlib/source/lux/math/modular.lux +++ b/stdlib/source/lux/math/modular.lux @@ -1,10 +1,11 @@ (.module: [lux #* - [control - ["ex" exception (#+ exception:)] - ["p" parser] + [abstract [codec (#+ Codec)] [monad (#+ do)]] + [control + ["ex" exception (#+ exception:)] + ["p" parser]] [data ["." error (#+ Error)] [number diff --git a/stdlib/source/lux/math/random.lux b/stdlib/source/lux/math/random.lux index 47ddb7fa2..ef1ed3e37 100644 --- a/stdlib/source/lux/math/random.lux +++ b/stdlib/source/lux/math/random.lux @@ -1,6 +1,6 @@ (.module: {#.doc "Pseudo-random number generation (PRNG) algorithms."} [lux (#- or and list i64 nat int rev char) - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] ["." monad (#+ do Monad)] diff --git a/stdlib/source/lux/test.lux b/stdlib/source/lux/test.lux index 9f261dbc8..58d7654d3 100644 --- a/stdlib/source/lux/test.lux +++ b/stdlib/source/lux/test.lux @@ -1,7 +1,8 @@ (.module: {#.doc "Tools for unit & property-based/generative testing."} [lux (#- and) + [abstract + ["." monad (#+ Monad do)]] [control - ["." monad (#+ Monad do)] ["ex" exception (#+ exception:)] [concurrency ["." promise (#+ Promise) ("#;." monad)]]] diff --git a/stdlib/source/lux/time/date.lux b/stdlib/source/lux/time/date.lux index 9ca3b8939..994b95dbe 100644 --- a/stdlib/source/lux/time/date.lux +++ b/stdlib/source/lux/time/date.lux @@ -1,12 +1,13 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)] [enum (#+ Enum)] codec - ["p" parser ("#@." functor)] [monad (#+ do)]] + [control + ["p" parser ("#@." functor)]] [data ["." error (#+ Error)] ["." maybe] diff --git a/stdlib/source/lux/time/day.lux b/stdlib/source/lux/time/day.lux index 53aa37483..87c603937 100644 --- a/stdlib/source/lux/time/day.lux +++ b/stdlib/source/lux/time/day.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)] [enum (#+ Enum)]]]) diff --git a/stdlib/source/lux/time/duration.lux b/stdlib/source/lux/time/duration.lux index cbad3c694..887a074f7 100644 --- a/stdlib/source/lux/time/duration.lux +++ b/stdlib/source/lux/time/duration.lux @@ -1,12 +1,13 @@ (.module: [lux #* - [control + [abstract equivalence [order (#+ Order)] codec [monoid (#+ Monoid)] - ["p" parser] [monad (#+ do)]] + [control + ["p" parser]] [data [number ["." nat ("#;." decimal)] diff --git a/stdlib/source/lux/time/instant.lux b/stdlib/source/lux/time/instant.lux index 4231cc6c1..866616ca1 100644 --- a/stdlib/source/lux/time/instant.lux +++ b/stdlib/source/lux/time/instant.lux @@ -1,12 +1,13 @@ (.module: [lux #* [io (#+ IO io)] - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)] [enum (#+ Enum)] codec - [monad (#+ do Monad)] + [monad (#+ do Monad)]] + [control ["p" parser]] [data ["." error (#+ Error)] diff --git a/stdlib/source/lux/time/month.lux b/stdlib/source/lux/time/month.lux index 2863220da..3911d7849 100644 --- a/stdlib/source/lux/time/month.lux +++ b/stdlib/source/lux/time/month.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] [order (#+ Order)] [enum (#+ Enum)]]]) diff --git a/stdlib/source/lux/tool/compiler/analysis.lux b/stdlib/source/lux/tool/compiler/analysis.lux index c2a6d0cb7..2f173007b 100644 --- a/stdlib/source/lux/tool/compiler/analysis.lux +++ b/stdlib/source/lux/tool/compiler/analysis.lux @@ -1,6 +1,6 @@ (.module: [lux (#- nat int rev) - [control + [abstract [monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/meta/archive.lux b/stdlib/source/lux/tool/compiler/meta/archive.lux index e9ecee8cd..46a6ce0a6 100644 --- a/stdlib/source/lux/tool/compiler/meta/archive.lux +++ b/stdlib/source/lux/tool/compiler/meta/archive.lux @@ -1,9 +1,10 @@ (.module: [lux (#- Module) - [control - ["ex" exception (#+ exception:)] + [abstract ["." equivalence (#+ Equivalence)] ["." monad (#+ do)]] + [control + ["ex" exception (#+ exception:)]] [data ["." error (#+ Error)] ["." name] diff --git a/stdlib/source/lux/tool/compiler/meta/archive/signature.lux b/stdlib/source/lux/tool/compiler/meta/archive/signature.lux index b8b9c43b2..7c9f0cbe2 100644 --- a/stdlib/source/lux/tool/compiler/meta/archive/signature.lux +++ b/stdlib/source/lux/tool/compiler/meta/archive/signature.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." equivalence (#+ Equivalence)]] [data ["." name] diff --git a/stdlib/source/lux/tool/compiler/phase.lux b/stdlib/source/lux/tool/compiler/phase.lux index 3ae66af16..09657c3cf 100644 --- a/stdlib/source/lux/tool/compiler/phase.lux +++ b/stdlib/source/lux/tool/compiler/phase.lux @@ -1,9 +1,10 @@ (.module: [lux #* + [abstract + [monad (#+ do)]] [control ["." state] - ["ex" exception (#+ Exception exception:)] - [monad (#+ do)]] + ["ex" exception (#+ Exception exception:)]] [data ["." product] ["." error (#+ Error) ("#;." functor)] diff --git a/stdlib/source/lux/tool/compiler/phase/extension.lux b/stdlib/source/lux/tool/compiler/phase/extension.lux index 7ce75f6e5..87e7474d4 100644 --- a/stdlib/source/lux/tool/compiler/phase/extension.lux +++ b/stdlib/source/lux/tool/compiler/phase/extension.lux @@ -1,7 +1,8 @@ (.module: [lux (#- Name) + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["." error (#+ Error)] diff --git a/stdlib/source/lux/tool/compiler/phase/extension/bundle.lux b/stdlib/source/lux/tool/compiler/phase/extension/bundle.lux index ad99db848..28015b956 100644 --- a/stdlib/source/lux/tool/compiler/phase/extension/bundle.lux +++ b/stdlib/source/lux/tool/compiler/phase/extension/bundle.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)]] [data ["." text diff --git a/stdlib/source/lux/tool/compiler/phase/generation.lux b/stdlib/source/lux/tool/compiler/phase/generation.lux index f0609d666..3053752fe 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation.lux @@ -1,7 +1,8 @@ (.module: [lux (#- Module) + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["." exception (#+ exception:)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/extension.lux b/stdlib/source/lux/tool/compiler/phase/generation/extension.lux index 681fd35f8..7c08e94cc 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/extension.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/extension.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [data [collection diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js.lux b/stdlib/source/lux/tool/compiler/phase/generation/js.lux index 29c95ff43..37a8d1bc6 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)]]] [/ [runtime (#+ Phase)] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/case.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/case.lux index 4561e5e84..86c7197ec 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/case.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/case.lux @@ -1,7 +1,8 @@ (.module: [lux (#- case let if) + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["." text diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/extension/common.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/extension/common.lux index 2ee78f394..3cc75105f 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/extension/common.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/extension/common.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/extension/host.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/extension/host.lux index 70f581d69..f78daf215 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/extension/host.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/extension/host.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/function.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/function.lux index 10a53986f..4839c9978 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/function.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/function.lux @@ -1,7 +1,8 @@ (.module: [lux (#- function) + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] pipe] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/loop.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/loop.lux index d905db9a2..9ab04cae6 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/loop.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/loop.lux @@ -1,6 +1,6 @@ (.module: [lux (#- Scope) - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/runtime.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/runtime.lux index 821633e50..97eee0025 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/runtime.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/runtime.lux @@ -1,8 +1,9 @@ (.module: [lux #* ["." function] + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser]] [data [number (#+ hex) diff --git a/stdlib/source/lux/tool/compiler/phase/generation/js/structure.lux b/stdlib/source/lux/tool/compiler/phase/generation/js/structure.lux index c6b413afb..a70376569 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/js/structure.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/js/structure.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [host ["_" js (#+ Expression)]]] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python.lux b/stdlib/source/lux/tool/compiler/phase/generation/python.lux index 29c95ff43..37a8d1bc6 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)]]] [/ [runtime (#+ Phase)] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/case.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/case.lux index b1f53a8b2..359cfdb3b 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/case.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/case.lux @@ -1,7 +1,8 @@ (.module: [lux (#- case let if) + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["." text diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/extension/common.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/extension/common.lux index 7ff70b393..46cd6d79e 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/extension/common.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/extension/common.lux @@ -1,7 +1,7 @@ (.module: [lux #* ["." function] - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/extension/host.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/extension/host.lux index 92887899b..242022c87 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/extension/host.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/extension/host.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/function.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/function.lux index 3ba95e0f3..a5f918dc1 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/function.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/function.lux @@ -1,7 +1,8 @@ (.module: [lux (#- function) + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] pipe] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/loop.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/loop.lux index 7666319bf..12d83b756 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/loop.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/loop.lux @@ -1,6 +1,6 @@ (.module: [lux (#- Scope) - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/runtime.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/runtime.lux index 36184e21c..d10434000 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/runtime.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/runtime.lux @@ -1,8 +1,9 @@ (.module: [lux (#- inc) ["." function] + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["p" parser]] [data [number (#+ hex) diff --git a/stdlib/source/lux/tool/compiler/phase/generation/python/structure.lux b/stdlib/source/lux/tool/compiler/phase/generation/python/structure.lux index 6daf5e532..93a83883d 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/python/structure.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/python/structure.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [host ["_" python (#+ Expression)]]] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme.lux index 5da2a016e..2ccf4f45a 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract [monad (#+ do)]]] [/ [runtime (#+ Phase)] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/case.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/case.jvm.lux index 49733e6f3..d68abbdd7 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/case.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/case.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux (#- case let if) + [abstract + [monad (#+ do)]] [control - [monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["." number] @@ -97,9 +98,9 @@ (def: (pm-catch handler) (-> Expression Computation) (_.lambda [(list @alt-error) #.None] - (_.if (|> @alt-error (_.eqv?/2 pm-error)) - handler - (_.raise/1 @alt-error)))) + (_.if (|> @alt-error (_.eqv?/2 pm-error)) + handler + (_.raise/1 @alt-error)))) (def: (pattern-matching' generate pathP) (-> Phase Path (Operation Expression)) diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/extension/common.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/extension/common.jvm.lux index 0de327e23..cb96a5718 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/extension/common.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/extension/common.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["e" error] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/function.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/function.jvm.lux index 2cbb89825..28bfd36ba 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/function.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/function.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux (#- function) + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] pipe] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/loop.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/loop.jvm.lux index 7064c8301..6922806e2 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/loop.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/loop.jvm.lux @@ -1,6 +1,6 @@ (.module: [lux (#- Scope) - [control + [abstract ["." monad (#+ do)]] [data ["." product] diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/runtime.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/runtime.jvm.lux index d3c949df1..1e891c006 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/runtime.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/runtime.jvm.lux @@ -1,9 +1,10 @@ (.module: [lux #* ["." function] - [control - ["p" parser ("#;." monad)] + [abstract [monad (#+ do)]] + [control + ["p" parser ("#;." monad)]] [data [number (#+ hex)] [text diff --git a/stdlib/source/lux/tool/compiler/phase/generation/scheme/structure.jvm.lux b/stdlib/source/lux/tool/compiler/phase/generation/scheme/structure.jvm.lux index 7419ad239..e44ab508b 100644 --- a/stdlib/source/lux/tool/compiler/phase/generation/scheme/structure.jvm.lux +++ b/stdlib/source/lux/tool/compiler/phase/generation/scheme/structure.jvm.lux @@ -1,6 +1,6 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do)]] [host ["_" scheme (#+ Expression)]]] diff --git a/stdlib/source/lux/tool/compiler/phase/synthesis/case.lux b/stdlib/source/lux/tool/compiler/phase/synthesis/case.lux index 7da1a41c7..ea8615949 100644 --- a/stdlib/source/lux/tool/compiler/phase/synthesis/case.lux +++ b/stdlib/source/lux/tool/compiler/phase/synthesis/case.lux @@ -1,9 +1,10 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] - [pipe (#+ when> new> case>)] ["." monad (#+ do)]] + [control + [pipe (#+ when> new> case>)]] [data ["." product] ["." bit ("#@." equivalence)] diff --git a/stdlib/source/lux/tool/compiler/phase/synthesis/function.lux b/stdlib/source/lux/tool/compiler/phase/synthesis/function.lux index a1bc743c3..8d1b71d90 100644 --- a/stdlib/source/lux/tool/compiler/phase/synthesis/function.lux +++ b/stdlib/source/lux/tool/compiler/phase/synthesis/function.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] ["ex" exception (#+ exception:)]] [data ["." maybe] diff --git a/stdlib/source/lux/tool/compiler/phase/synthesis/loop.lux b/stdlib/source/lux/tool/compiler/phase/synthesis/loop.lux index 54bec7b03..0ac6cc12b 100644 --- a/stdlib/source/lux/tool/compiler/phase/synthesis/loop.lux +++ b/stdlib/source/lux/tool/compiler/phase/synthesis/loop.lux @@ -1,7 +1,8 @@ (.module: [lux (#- loop) + [abstract + ["." monad (#+ do)]] [control - ["." monad (#+ do)] ["p" parser]] [data ["." maybe ("#;." monad)] diff --git a/stdlib/source/lux/tool/compiler/reference.lux b/stdlib/source/lux/tool/compiler/reference.lux index 7022b2496..20d819ef7 100644 --- a/stdlib/source/lux/tool/compiler/reference.lux +++ b/stdlib/source/lux/tool/compiler/reference.lux @@ -1,8 +1,9 @@ (.module: [lux #* - [control + [abstract [equivalence (#+ Equivalence)] - [hash (#+ Hash)] + [hash (#+ Hash)]] + [control pipe] [data [text diff --git a/stdlib/source/lux/tool/compiler/synthesis.lux b/stdlib/source/lux/tool/compiler/synthesis.lux index 39b62ac88..d12c8c3ea 100644 --- a/stdlib/source/lux/tool/compiler/synthesis.lux +++ b/stdlib/source/lux/tool/compiler/synthesis.lux @@ -1,8 +1,9 @@ (.module: [lux (#- i64 Scope) - [control + [abstract [monad (#+ do)] - [equivalence (#+ Equivalence)] + [equivalence (#+ Equivalence)]] + [control ["ex" exception (#+ exception:)]] [data ["." bit ("#;." equivalence)] diff --git a/stdlib/source/lux/type.lux b/stdlib/source/lux/type.lux index 217b22abc..031e5025d 100644 --- a/stdlib/source/lux/type.lux +++ b/stdlib/source/lux/type.lux @@ -1,8 +1,9 @@ (.module: {#.doc "Basic functionality for working with types."} [lux (#- function) - [control + [abstract [equivalence (#+ Equivalence)] - [monad (#+ Monad do)] + [monad (#+ Monad do)]] + [control ["p" parser]] [data ["." text ("#;." monoid equivalence)] diff --git a/stdlib/source/lux/type/abstract.lux b/stdlib/source/lux/type/abstract.lux index 1a45c6e56..d293c4083 100644 --- a/stdlib/source/lux/type/abstract.lux +++ b/stdlib/source/lux/type/abstract.lux @@ -1,7 +1,8 @@ (.module: [lux (#- Scope) + [abstract + [monad (#+ Monad do)]] [control - [monad (#+ Monad do)] ["p" parser ("#;." monad)] ["ex" exception (#+ exception:)]] [data diff --git a/stdlib/source/lux/type/check.lux b/stdlib/source/lux/type/check.lux index 636a1722e..359a0e3b0 100644 --- a/stdlib/source/lux/type/check.lux +++ b/stdlib/source/lux/type/check.lux @@ -1,9 +1,10 @@ (.module: {#.doc "Type-checking functionality."} [lux #* - [control + [abstract [functor (#+ Functor)] [apply (#+ Apply)] - ["." monad (#+ Monad do)] + ["." monad (#+ Monad do)]] + [control ["ex" exception (#+ exception:)]] [data ["." maybe] diff --git a/stdlib/source/lux/type/implicit.lux b/stdlib/source/lux/type/implicit.lux index 36d9b2e03..d8ce47c2c 100644 --- a/stdlib/source/lux/type/implicit.lux +++ b/stdlib/source/lux/type/implicit.lux @@ -1,8 +1,9 @@ (.module: [lux #* - [control + [abstract ["." monad (#+ do Monad)] - ["eq" equivalence] + ["eq" equivalence]] + [control ["p" parser]] [data ["." product] diff --git a/stdlib/source/lux/type/refinement.lux b/stdlib/source/lux/type/refinement.lux index 2444878b4..1c428fc23 100644 --- a/stdlib/source/lux/type/refinement.lux +++ b/stdlib/source/lux/type/refinement.lux @@ -1,6 +1,6 @@ (.module: [lux (#- type) - [control + [abstract [predicate (#+ Predicate)]] [type (#+ :by-example) ("#;." equivalence) abstract]]) diff --git a/stdlib/source/lux/type/resource.lux b/stdlib/source/lux/type/resource.lux index affcf4cfc..22d83defd 100644 --- a/stdlib/source/lux/type/resource.lux +++ b/stdlib/source/lux/type/resource.lux @@ -1,10 +1,11 @@ (.module: [lux #* + [abstract + ["." monad (#+ Monad do) + [indexed (#+ IxMonad)]]] [control ["p" parser] ["ex" exception (#+ exception:)] - ["." monad (#+ Monad do) - [indexed (#+ IxMonad)]] [concurrency ["." promise (#+ Promise)]]] [data diff --git a/stdlib/source/lux/type/unit.lux b/stdlib/source/lux/type/unit.lux index d28f3e841..a05b7c85c 100644 --- a/stdlib/source/lux/type/unit.lux +++ b/stdlib/source/lux/type/unit.lux @@ -1,12 +1,13 @@ ## TODO: Write tests ASAP. (.module: [lux #* - [control + [abstract [monad (#+ Monad do)] - ["p" parser] [equivalence (#+ Equivalence)] [order (#+ Order)] [enum (#+ Enum)]] + [control + ["p" parser]] [data [number ["r" ratio]] diff --git a/stdlib/source/lux/world/binary.lux b/stdlib/source/lux/world/binary.lux index e373937b9..f43edfa4f 100644 --- a/stdlib/source/lux/world/binary.lux +++ b/stdlib/source/lux/world/binary.lux @@ -1,9 +1,10 @@ (.module: [lux (#- i64) - [control + [abstract [monad (#+ do)] - ["ex" exception (#+ exception:)] [equivalence (#+ Equivalence)]] + [control + ["ex" exception (#+ exception:)]] [data ["." maybe] ["." error (#+ Error)] diff --git a/stdlib/source/lux/world/file.lux b/stdlib/source/lux/world/file.lux index 1ee35cd6f..c559c83e6 100644 --- a/stdlib/source/lux/world/file.lux +++ b/stdlib/source/lux/world/file.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + ["." monad (#+ Monad do)]] [control - ["." monad (#+ Monad do)] ["ex" exception (#+ Exception exception:)] [concurrency ["." promise (#+ Promise)]] diff --git a/stdlib/source/lux/world/net/tcp.jvm.lux b/stdlib/source/lux/world/net/tcp.jvm.lux index d72e24763..f9c72bff3 100644 --- a/stdlib/source/lux/world/net/tcp.jvm.lux +++ b/stdlib/source/lux/world/net/tcp.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + monad] [control - monad [concurrency ["." promise (#+ Promise Resolver)] ["." frp (#+ Channel Sink)]] diff --git a/stdlib/source/lux/world/net/udp.jvm.lux b/stdlib/source/lux/world/net/udp.jvm.lux index 01eb4772a..505871b56 100644 --- a/stdlib/source/lux/world/net/udp.jvm.lux +++ b/stdlib/source/lux/world/net/udp.jvm.lux @@ -1,7 +1,8 @@ (.module: [lux #* + [abstract + monad] [control - monad ["ex" exception (#+ exception:)] [concurrency ["." promise (#+ Promise)]] |