Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- addTmBind ∷ Binding TyName Name DefaultUni DefaultFun () → Map Name (Type TyName DefaultUni ()) → Map Name (Type TyName DefaultUni ())
- scopeCheckTyVars ∷ TypeCtx → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → Bool
- findHelp ∷ Map Name (Type TyName DefaultUni ()) → Maybe Name
- mkHelp ∷ Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun ()
- fixupTerm_ ∷ TypeCtx → Map Name (Type TyName DefaultUni ()) → TypeCtx → Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun () → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ())
- fixupTerm ∷ TypeCtx → Map Name (Type TyName DefaultUni ()) → TypeCtx → Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun () → Term TyName Name DefaultUni DefaultFun ()
- minimalBuiltin ∷ SomeTypeIn DefaultUni → Term TyName Name DefaultUni DefaultFun ()
- shrinkBind ∷ HasCallStack ⇒ Recursivity → TypeCtx → Map Name (Type TyName DefaultUni ()) → Binding TyName Name DefaultUni DefaultFun () → [Binding TyName Name DefaultUni DefaultFun ()]
- shrinkDat ∷ TypeCtx → Datatype TyName Name DefaultUni () → [Datatype TyName Name DefaultUni ()]
- shrinkTypedTerm ∷ HasCallStack ⇒ TypeCtx → Map Name (Type TyName DefaultUni ()) → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → [(Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ())]
- shrinkClosedTypedTerm ∷ (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → [(Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ())]
Documentation
addTmBind ∷ Binding TyName Name DefaultUni DefaultFun () → Map Name (Type TyName DefaultUni ()) → Map Name (Type TyName DefaultUni ()) Source #
scopeCheckTyVars ∷ TypeCtx → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → Bool Source #
findHelp ∷ Map Name (Type TyName DefaultUni ()) → Maybe Name Source #
Try to find a variable of type `forall x. x` in the context.
mkHelp ∷ Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun () Source #
fixupTerm_ ∷ TypeCtx → Map Name (Type TyName DefaultUni ()) → TypeCtx → Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun () → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) Source #
Try to take a term from an old context to a new context and a new type. If we can't do the new type we might return a different type.
fixupTerm ∷ TypeCtx → Map Name (Type TyName DefaultUni ()) → TypeCtx → Map Name (Type TyName DefaultUni ()) → Type TyName DefaultUni () → Term TyName Name DefaultUni DefaultFun () → Term TyName Name DefaultUni DefaultFun () Source #
Try to take a term from an old context to a new context and a new type - default to mkHelp
.
shrinkBind ∷ HasCallStack ⇒ Recursivity → TypeCtx → Map Name (Type TyName DefaultUni ()) → Binding TyName Name DefaultUni DefaultFun () → [Binding TyName Name DefaultUni DefaultFun ()] Source #
shrinkDat ∷ TypeCtx → Datatype TyName Name DefaultUni () → [Datatype TyName Name DefaultUni ()] Source #
shrinkTypedTerm ∷ HasCallStack ⇒ TypeCtx → Map Name (Type TyName DefaultUni ()) → (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → [(Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ())] Source #
Shrink a typed term in a type and term context. NOTE: if you want to understand what's going on in this function it's a good idea to look at how we do this for types first (it's a lot simpler).
shrinkClosedTypedTerm ∷ (Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ()) → [(Type TyName DefaultUni (), Term TyName Name DefaultUni DefaultFun ())] Source #