git-subtree-dir: users/glittershark/xanthous git-subtree-mainline:91f53f02d8git-subtree-split:53b56744f4
36 lines
1.1 KiB
Haskell
36 lines
1.1 KiB
Haskell
--------------------------------------------------------------------------------
|
|
module Xanthous.Prelude
|
|
( module ClassyPrelude
|
|
, Type
|
|
, Constraint
|
|
, module GHC.TypeLits
|
|
, module Control.Lens
|
|
, module Data.Void
|
|
, module Control.Comonad
|
|
|
|
|
|
-- * Classy-Prelude addons
|
|
, ninsertSet
|
|
, ndeleteSet
|
|
, toVector
|
|
) where
|
|
--------------------------------------------------------------------------------
|
|
import ClassyPrelude hiding
|
|
(return, (<|), unsnoc, uncons, cons, snoc, index, (<.>), Index, say)
|
|
import Data.Kind
|
|
import GHC.TypeLits hiding (Text)
|
|
import Control.Lens hiding (levels, Level)
|
|
import Data.Void
|
|
import Control.Comonad
|
|
--------------------------------------------------------------------------------
|
|
|
|
ninsertSet
|
|
:: (IsSet set, MonoPointed set)
|
|
=> Element set -> NonNull set -> NonNull set
|
|
ninsertSet x xs = impureNonNull $ opoint x `union` toNullable xs
|
|
|
|
ndeleteSet :: IsSet b => Element b -> NonNull b -> b
|
|
ndeleteSet x = deleteSet x . toNullable
|
|
|
|
toVector :: (MonoFoldable (f a), Element (f a) ~ a) => f a -> Vector a
|
|
toVector = fromList . toList
|