diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/poly/lux/abstract/functor.lux | 12 |
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) |