hls-tactics-plugin-0.5.1.0: Tactics plugin for Haskell Language Server
Safe HaskellNone
LanguageHaskell2010

Ide.Plugin.Tactic.GHC

Synopsis

Documentation

isFunction :: Type -> Bool Source #

Is this a function type?

tacticsSplitFunTy :: Type -> ([TyVar], ThetaType, [Type], Type) Source #

Split a function, also splitting out its quantified variables and theta context.

tacticsThetaTy :: Type -> ThetaType Source #

Rip the theta context out of a regular type.

freshTyvars :: MonadState TacticState m => Type -> m Type Source #

Instantiate all of the quantified type variables in a type with fresh skolems.

algebraicTyCon :: Type -> Maybe TyCon Source #

Is this an algebraic type?

lambdaCaseable :: Type -> Maybe Bool Source #

Can ths type be lambda-cased?

Return: Nothing if no Just False if it can't be homomorphic Just True if it can

type PatCompat pass = LPat pass Source #

pattern TopLevelRHS :: OccName -> [PatCompat GhcTc] -> LHsExpr GhcTc -> Match GhcTc (LHsExpr GhcTc) Source #

Should make sure it's a fun bind