@hackage constrained-some0.1.0.0

Existential type that can be constrained

Hackage Static Badge Haskell-CI License: GPL v3

constrained-some

This library provides utilities for working with existential types and type-level constraints. It allows you to enforce multiple constraints on polymorphic types and containers complementing some.

Core

  • Existential Types: Somes and Somes1 provide existential wrappers for types with multiple constraints.
  • Convenient Aliases: Simplified types Some and Some1 for scenarios where just one constraint is needed.

Usage

import Data.Some.Constraint

someShowableOrd :: Somes '[Show, Ord]
someShowableOrd = Some (mempty :: [Double])

someNumFunctor :: Some1 Functor Num
someNumFunctor = Some1 $ [1, 2, 3 :: Int]

Contact information

Contributions, critics and bug reports are welcome!

Please feel free to contact me through GitHub.