futhark-0.25.11: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageGHC2021

Language.Futhark.TypeChecker.Terms.Pat

Description

Type checking of patterns.

Synopsis

Documentation

binding :: [Ident StructType] -> TermTypeM a -> TermTypeM a Source #

Bind these identifiers locally while running the provided action.

bindingParams :: [UncheckedTypeParam] -> [UncheckedPat ParamType] -> ([TypeParam] -> [Pat ParamType] -> TermTypeM a) -> TermTypeM a Source #

Check and bind type and value parameters.

bindingPat :: [SizeBinder VName] -> UncheckedPat (TypeBase Size u) -> StructType -> (Pat ParamType -> TermTypeM a) -> TermTypeM a Source #

Check and bind a let-pattern.

bindingIdent :: IdentBase NoInfo Name StructType -> StructType -> (Ident StructType -> TermTypeM a) -> TermTypeM a Source #

Bind a single term-level identifier.

bindingSizes :: [SizeBinder Name] -> ([SizeBinder VName] -> TermTypeM a) -> TermTypeM a Source #

Bind let-bound sizes. This is usually followed by bindingPat immediately afterwards.

doNotShadow :: [Name] Source #

Names that may not be shadowed.