diff options
author | Eduardo Julian | 2019-04-06 21:14:27 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-04-06 21:14:27 -0400 |
commit | a75f032ff219fdd639580455a6d3e83fd05d5592 (patch) | |
tree | f02c8e6b9c7c8fd932790b0fc8152fa30be55d7f /stdlib/source/lux/macro | |
parent | 9a22a2616ad08d4bda9555510aa4aaeced4b69f3 (diff) |
Created the "lux/abstract" branch and moved some modules into it.
Diffstat (limited to 'stdlib/source/lux/macro')
-rw-r--r-- | stdlib/source/lux/macro/code.lux | 2 | ||||
-rw-r--r-- | stdlib/source/lux/macro/poly.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/macro/poly/equivalence.lux | 15 | ||||
-rw-r--r-- | stdlib/source/lux/macro/poly/functor.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/macro/poly/json.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/macro/syntax.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/macro/syntax/common/reader.lux | 3 | ||||
-rw-r--r-- | stdlib/source/lux/macro/template.lux | 3 |
8 files changed, 25 insertions, 18 deletions
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)] |