Skip to content

Conversation

@treeowl
Copy link
Contributor

@treeowl treeowl commented May 10, 2018

  • More constraint tuple instances, because we can.
  • A nice default definition for never-satisfiable constraints,
    and a stupidly boring always-satisfiable one for symmetry.

* More constraint tuple instances, because we can.
* A nice default definition for never-satisfiable constraints,
  and a stupidly boring always-satisfiable one for symmetry.
@treeowl treeowl force-pushed the deferrable-bonus branch from f270b54 to 1ae21e2 Compare May 10, 2018 04:38
Copy link
Collaborator

@RyanGlScott RyanGlScott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems plausible, although I have some questions inline.

AllC '[] = ()
AllC (c ': cs) = (c, AllC cs)

type family AllD (cs :: [Constraint]) :: Constraint where
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this here? It appears to be unused, from what I can tell.


-- | A good definition of 'deferEither' for a constraint that is always
-- satisfiable.
deferEitherSuccess :: p => proxy p -> (p => r) -> Either String r
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be used to implement the Deferrable () instance, right? Why not do so?

Rank2Types,
GADTs

ghc-options: -fconstraint-solver-iterations=0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this here? This deserves at least a comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants