diff options
Diffstat (limited to 'stdlib/source')
-rw-r--r-- | stdlib/source/lux/data/struct/vector.lux | 5 | ||||
-rw-r--r-- | stdlib/source/lux/type.lux | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/stdlib/source/lux/data/struct/vector.lux b/stdlib/source/lux/data/struct/vector.lux index 4e4922d0c..fbe3dbd97 100644 --- a/stdlib/source/lux/data/struct/vector.lux +++ b/stdlib/source/lux/data/struct/vector.lux @@ -436,8 +436,7 @@ (def: applicative Applicative<Vector>) (def: join - (let [(^open) Functor<Vector> - (^open) Fold<Vector> + (let [(^open) Fold<Vector> (^open) Monoid<Vector>] - (fold append unit))) + (fold (lambda [post pre] (append pre post)) unit))) ) diff --git a/stdlib/source/lux/type.lux b/stdlib/source/lux/type.lux index c81d5e23d..a721c0926 100644 --- a/stdlib/source/lux/type.lux +++ b/stdlib/source/lux/type.lux @@ -8,6 +8,7 @@ (lux (control eq monad) (data [text "Text/" Monoid<Text> Eq<Text>] + [ident "Ident/" Eq<Ident>] [number "Nat/" Codec<Text,Nat>] maybe (struct [list #+ "List/" Monad<List> Monoid<List> Fold<List>])) @@ -79,9 +80,8 @@ (and (= xleft yleft) (= xright yright)) - [(#;NamedT [xmodule xname] xtype) (#;NamedT [ymodule yname] ytype)] - (and (Text/= xmodule ymodule) - (Text/= xname yname) + [(#;NamedT xname xtype) (#;NamedT yname ytype)] + (and (Ident/= xname yname) (= xtype ytype)) (^template [<tag>] |