From 6c7e14d2dcd3a3b124dc035e8feb8e79534cd66a Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Sun, 28 Jun 2020 16:43:20 -0400 Subject: feat(xan): Use Witherable in the prelude Install the witherable library, expose it in the prelude, and update all call sites that are broken by that change. This is a really nice library, and basically the ideal abstraction layer for what it does. Change-Id: I640e099318c1ecce0ad483bc336c379698bdab88 Reviewed-on: https://cl.tvl.fyi/c/depot/+/725 Reviewed-by: glittershark --- users/glittershark/xanthous/src/Xanthous/Prelude.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'users/glittershark/xanthous/src/Xanthous/Prelude.hs') diff --git a/users/glittershark/xanthous/src/Xanthous/Prelude.hs b/users/glittershark/xanthous/src/Xanthous/Prelude.hs index 9a4ca0149f1a..b4f13332467e 100644 --- a/users/glittershark/xanthous/src/Xanthous/Prelude.hs +++ b/users/glittershark/xanthous/src/Xanthous/Prelude.hs @@ -7,7 +7,9 @@ module Xanthous.Prelude , module Control.Lens , module Data.Void , module Control.Comonad + , module Data.Witherable + , (&!) -- * Classy-Prelude addons , ninsertSet @@ -16,12 +18,15 @@ module Xanthous.Prelude ) where -------------------------------------------------------------------------------- import ClassyPrelude hiding - (return, (<|), unsnoc, uncons, cons, snoc, index, (<.>), Index, say) + ( return, (<|), unsnoc, uncons, cons, snoc, index, (<.>), Index, say + , catMaybes, filter, mapMaybe, hashNub, ordNub + ) import Data.Kind import GHC.TypeLits hiding (Text) import Control.Lens hiding (levels, Level) import Data.Void import Control.Comonad +import Data.Witherable -------------------------------------------------------------------------------- ninsertSet @@ -34,3 +39,7 @@ ndeleteSet x = deleteSet x . toNullable toVector :: (MonoFoldable (f a), Element (f a) ~ a) => f a -> Vector a toVector = fromList . toList + +infixl 1 &! +(&!) :: a -> (a -> b) -> b +(&!) = flip ($!) -- cgit 1.4.1