constraints-emerge alternatives and similar packages
Based on the "Constraints" category.
Alternatively, view constraints-emerge alternatives based on common mentions on social networks and blogs.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of constraints-emerge or a related project?
README
constraints-emerge: defer instance lookups until runtime
| Hackage
Dedication
Failure should be our teacher, not our undertaker. Failure is delay, not defeat. It is a temporary detour, not a dead end. Failure is something we can avoid only by saying nothing, doing nothing, and being nothing.
Denis Waitley
Synopsis
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# OPTIONS_GHC -fplugin=Data.Constraint.Emerge.Plugin #-}
module Test where
import Data.Constraint.Emerge
showAnything :: forall c. Emerge (Show c) => c -> String
showAnything c =
case emerge @(Show c) of
Just Dict -> show c
Nothing -> "<<unshowable>>"
showBool = showAnything True -- "True"
showId = showAnything id -- "<<unshowable>>"
Known Bugs
constraints-emerge
will fail to generate type-equality dictionaries- It fails to provide
Emerge c
dictionaries at runtime. - The generated error messages mention mangled type variables; it would be cool if they didn't.
If someone wants to pick it up from here, that’d be great!
Related Work
Contact
Please reports bugs and missing features at the GitHub bugtracker. This is also where you can find the source code.
constraints-emerge
was written by Sandy Maguire and is licensed under a
permissive MIT license.
*Note that all licence references and agreements mentioned in the constraints-emerge README section above
are relevant to that project's source code only.