Safe Haskell | None |
---|---|
Language | GHC2021 |
Language.Futhark.TypeChecker.Terms.Loop
Description
Type inference of loop
. This is complicated because of the
uniqueness and size inference, so the implementation is separate
from the main type checker.
Synopsis
- type UncheckedLoop = (PatBase (NoInfo :: Type -> Type) VName ParamType, LoopInitBase (NoInfo :: Type -> Type) VName, LoopFormBase (NoInfo :: Type -> Type) VName, ExpBase (NoInfo :: Type -> Type) VName)
- type CheckedLoop = ([VName], Pat ParamType, LoopInitBase Info VName, LoopFormBase Info VName, Exp)
- checkLoop :: (ExpBase (NoInfo :: Type -> Type) VName -> TermTypeM Exp) -> UncheckedLoop -> SrcLoc -> TermTypeM (CheckedLoop, AppRes)
Documentation
type UncheckedLoop = (PatBase (NoInfo :: Type -> Type) VName ParamType, LoopInitBase (NoInfo :: Type -> Type) VName, LoopFormBase (NoInfo :: Type -> Type) VName, ExpBase (NoInfo :: Type -> Type) VName) Source #
An un-checked loop.
type CheckedLoop = ([VName], Pat ParamType, LoopInitBase Info VName, LoopFormBase Info VName, Exp) Source #
A loop that has been type-checked.