diff options
Diffstat (limited to 'stdlib/source/lux/control/writer.lux')
-rw-r--r-- | stdlib/source/lux/control/writer.lux | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/stdlib/source/lux/control/writer.lux b/stdlib/source/lux/control/writer.lux index 29cec52e1..7f8299100 100644 --- a/stdlib/source/lux/control/writer.lux +++ b/stdlib/source/lux/control/writer.lux @@ -46,14 +46,16 @@ (def: applicative (A.compose (get@ #monad.applicative Monad<M>) (Applicative<Writer> Monoid<l>))) (def: (join MlMla) (do Monad<M> - [[l1 Mla] (: (($ +1) (Writer ($ +0) (($ +1) (Writer ($ +0) ($ +2))))) + [## TODO: Remove once new-luxc is the standard compiler. + [l1 Mla] (: (($ +1) (Writer ($ +0) (($ +1) (Writer ($ +0) ($ +2))))) MlMla) + ## [l1 Mla] MlMla [l2 a] Mla] (wrap [(:: Monoid<l> compose l1 l2) a])))) (def: #export (lift Monoid<l> Monad<M>) (All [l M a] (-> (Monoid l) (Monad M) (-> (M a) (M (Writer l a))))) - (function [ma] + (function (_ ma) (do Monad<M> [a ma] (wrap [(:: Monoid<l> identity) a])))) |