aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/poly/lux/abstract/functor.lux
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--stdlib/source/poly/lux/abstract/functor.lux12
1 files changed, 6 insertions, 6 deletions
diff --git a/stdlib/source/poly/lux/abstract/functor.lux b/stdlib/source/poly/lux/abstract/functor.lux
index 57f047798..d68d55af8 100644
--- a/stdlib/source/poly/lux/abstract/functor.lux
+++ b/stdlib/source/poly/lux/abstract/functor.lux
@@ -38,7 +38,7 @@
(function (_ unwrappedT)
(if (n.= 1 num_vars)
(` ((~! /.Functor) (~ (poly.code *env* unwrappedT))))
- (let [paramsC (|> num_vars dec list.indices (list\map (|>> %.nat code.local_identifier)))]
+ (let [paramsC (|> num_vars -- list.indices (list\map (|>> %.nat code.local_identifier)))]
(` (All [(~+ paramsC)]
((~! /.Functor) ((~ (poly.code *env* unwrappedT)) (~+ paramsC)))))))))
Arg<?> (: (-> Code (<type>.Parser Code))
@@ -46,19 +46,19 @@
($_ p.either
... Type-var
(do p.monad
- [.let [varI (|> num_vars (n.* 2) dec)]
+ [.let [varI (|> num_vars (n.* 2) --)]
_ (<type>.parameter! varI)]
(in (` ((~ funcC) (~ valueC)))))
... Variants
(do !
[_ (in [])
membersC (<type>.variant (p.many (Arg<?> valueC)))
- .let [last (dec (list.size membersC))]]
+ .let [last (-- (list.size membersC))]]
(in (` (case (~ valueC)
(~+ (list\join (list\map (function (_ [tag memberC])
(if (n.= last tag)
- (list (` ((~ (code.nat (dec tag))) #1 (~ valueC)))
- (` ((~ (code.nat (dec tag))) #1 (~ memberC))))
+ (list (` ((~ (code.nat (-- tag))) #1 (~ valueC)))
+ (` ((~ (code.nat (-- tag))) #1 (~ memberC))))
(list (` ((~ (code.nat tag)) #0 (~ valueC)))
(` ((~ (code.nat tag)) #0 (~ memberC))))))
(list.enumeration membersC))))))))
@@ -72,7 +72,7 @@
(do !
[_ (in [])
memberC (Arg<?> slotC)]
- (recur (inc idx)
+ (recur (++ idx)
(list\compose pairsCC (list [slotC memberC])))))
(in pairsCC)))))]
(in (` (case (~ valueC)