aboutsummaryrefslogtreecommitdiff
path: root/stdlib
diff options
context:
space:
mode:
authorEduardo Julian2019-09-07 21:07:03 -0400
committerEduardo Julian2019-09-07 21:07:03 -0400
commit0e2121dbec4f61dc1d9404deb9dd2b3f401ba4df (patch)
tree21cb35470bb304743fa322e4c105a4915f633ab4 /stdlib
parentab268d6fce40fac9c5029e39db927542facea201 (diff)
Moved polytypic code generators to their own branch.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/source/poly/lux/abstract/equivalence.lux (renamed from stdlib/source/lux/macro/poly/equivalence.lux)7
-rw-r--r--stdlib/source/poly/lux/abstract/functor.lux (renamed from stdlib/source/lux/macro/poly/functor.lux)11
-rw-r--r--stdlib/source/poly/lux/data/format/json.lux (renamed from stdlib/source/lux/macro/poly/json.lux)6
3 files changed, 13 insertions, 11 deletions
diff --git a/stdlib/source/lux/macro/poly/equivalence.lux b/stdlib/source/poly/lux/abstract/equivalence.lux
index 159593800..5ecdaf12a 100644
--- a/stdlib/source/lux/macro/poly/equivalence.lux
+++ b/stdlib/source/poly/lux/abstract/equivalence.lux
@@ -1,8 +1,7 @@
(.module:
[lux #*
[abstract
- [monad (#+ Monad do)]
- ["/" equivalence]]
+ [monad (#+ Monad do)]]
[control
["p" parser
["<.>" type]
@@ -38,7 +37,9 @@
["." common]]
["." poly (#+ poly:)]]
["." type
- ["." unit]]])
+ ["." unit]]]
+ {1
+ ["." /]})
(poly: #export equivalence
(`` (do @
diff --git a/stdlib/source/lux/macro/poly/functor.lux b/stdlib/source/poly/lux/abstract/functor.lux
index 5ccb65463..747d3c811 100644
--- a/stdlib/source/lux/macro/poly/functor.lux
+++ b/stdlib/source/poly/lux/abstract/functor.lux
@@ -1,8 +1,7 @@
(.module:
[lux #*
[abstract
- [monad (#+ Monad do)]
- ["." functor]]
+ [monad (#+ Monad do)]]
[control
["p" parser
["<.>" type]
@@ -20,7 +19,9 @@
[syntax (#+ syntax:)
["." common]]
["." poly (#+ poly:)]]
- ["." type]])
+ ["." type]]
+ {1
+ ["." /]})
(poly: #export functor
(do @
@@ -35,10 +36,10 @@
#let [@Functor (: (-> Type Code)
(function (_ unwrappedT)
(if (n.= 1 num-vars)
- (` ((~! functor.Functor) (~ (poly.to-code *env* unwrappedT))))
+ (` ((~! /.Functor) (~ (poly.to-code *env* unwrappedT))))
(let [paramsC (|> num-vars dec list.indices (list;map (|>> %.nat code.local-identifier)))]
(` (All [(~+ paramsC)]
- ((~! functor.Functor) ((~ (poly.to-code *env* unwrappedT)) (~+ paramsC)))))))))
+ ((~! /.Functor) ((~ (poly.to-code *env* unwrappedT)) (~+ paramsC)))))))))
Arg<?> (: (-> Code (<type>.Parser Code))
(function (Arg<?> valueC)
($_ p.either
diff --git a/stdlib/source/lux/macro/poly/json.lux b/stdlib/source/poly/lux/data/format/json.lux
index a621f0d20..b8c43df31 100644
--- a/stdlib/source/lux/macro/poly/json.lux
+++ b/stdlib/source/poly/lux/data/format/json.lux
@@ -23,8 +23,6 @@
["." frac ("#@." decimal)]]
["." text ("#@." equivalence)
["%" format (#+ format)]]
- [format
- ["/" json (#+ JSON)]]
[collection
["." list ("#@." fold monad)]
["." row (#+ Row row) ("#@." monad)]
@@ -40,7 +38,9 @@
["." code]
["." poly (#+ poly:)]]
["." type
- ["." unit]]])
+ ["." unit]]]
+ {1
+ ["." / (#+ JSON)]})
(def: tag
(-> Nat Frac)