Safe Haskell | Safe-Inferred |
---|---|
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 VName ParamType, LoopInitBase NoInfo VName, LoopFormBase NoInfo VName, ExpBase NoInfo VName)
- type CheckedLoop = ([VName], Pat ParamType, LoopInitBase Info VName, LoopFormBase Info VName, Exp)
- checkLoop :: (ExpBase NoInfo VName -> TermTypeM Exp) -> UncheckedLoop -> SrcLoc -> TermTypeM (CheckedLoop, AppRes)
Documentation
type UncheckedLoop = (PatBase NoInfo VName ParamType, LoopInitBase NoInfo VName, LoopFormBase NoInfo VName, ExpBase NoInfo 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.