License | BSD-3-Clause |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
Swarm.Language.Syntax.Pattern
Description
Pattern synonyms for untyped terms
Synopsis
- type Syntax = Syntax' ()
- type TSyntax = Syntax' Polytype
- type USyntax = Syntax' UType
- sLoc :: forall ty f. Functor f => (SrcLoc -> f SrcLoc) -> Syntax' ty -> f (Syntax' ty)
- sTerm :: forall ty f. Functor f => (Term' ty -> f (Term' ty)) -> Syntax' ty -> f (Syntax' ty)
- sType :: forall ty f. Functor f => (ty -> f ty) -> Syntax' ty -> f (Syntax' ty)
- sComments :: forall ty f. Functor f => (Comments -> f Comments) -> Syntax' ty -> f (Syntax' ty)
- pattern Syntax :: SrcLoc -> Term -> Syntax
- pattern CSyntax :: SrcLoc -> Term -> Comments -> Syntax
- pattern STerm :: Term -> Syntax
- pattern TRequirements :: Text -> Term -> Term
- pattern TPair :: Term -> Term -> Term
- pattern TLam :: Var -> Maybe Type -> Term -> Term
- pattern TApp :: Term -> Term -> Term
- pattern (:$:) :: Term -> Syntax -> Term
- pattern TLet :: LetSyntax -> Bool -> Var -> Maybe RawPolytype -> Maybe Polytype -> Maybe Requirements -> Term -> Term -> Term
- pattern TTydef :: TDVar -> Polytype -> Maybe TydefInfo -> Term -> Term
- pattern TBind :: Maybe Var -> Maybe Polytype -> Maybe Requirements -> Term -> Term -> Term
- pattern TDelay :: Term -> Term
- pattern TRcd :: Map Var (Maybe Term) -> Term
- pattern TProj :: Term -> Var -> Term
- pattern TAnnotate :: Term -> RawPolytype -> Term
- pattern TSuspend :: Term -> Term
- pattern TParens :: Term -> Term
- type Term = Term' ()
- type TTerm = Term' Polytype
- type UTerm = Term' UType
- noLoc :: Term -> Syntax
Documentation
sTerm :: forall ty f. Functor f => (Term' ty -> f (Term' ty)) -> Syntax' ty -> f (Syntax' ty) Source #
sComments :: forall ty f. Functor f => (Comments -> f Comments) -> Syntax' ty -> f (Syntax' ty) Source #
pattern Syntax :: SrcLoc -> Term -> Syntax Source #
Raw parsed syntax, without comments or type annotations.
pattern CSyntax :: SrcLoc -> Term -> Comments -> Syntax Source #
Untyped syntax with assocated comments.
pattern (:$:) :: Term -> Syntax -> Term infixl 0 Source #
Convenient infix pattern synonym for application.
pattern TLet :: LetSyntax -> Bool -> Var -> Maybe RawPolytype -> Maybe Polytype -> Maybe Requirements -> Term -> Term -> Term Source #
Match a TLet without annotations.
pattern TTydef :: TDVar -> Polytype -> Maybe TydefInfo -> Term -> Term Source #
Match a STydef without annotations.