ddc-core-0.4.2.1: Disciplined Disciple Compiler core language and type checker.

Safe HaskellSafe
LanguageHaskell98

DDC.Core.Exp.Generic.Predicates

Contents

Description

Simple predicates on core expressions.

Synopsis

Documentation

Atoms

isXVar :: GExp l -> Bool Source

Check whether an expression is a variable.

isXCon :: GExp l -> Bool Source

Check whether an expression is a constructor.

isAtomX :: GExp l -> Bool Source

Check whether an expression is an atomic value, eg an XVar, XCon, or XPrim.

isAtomR :: GArg l -> Bool Source

Check whether an argument is an atomic value,

isAtomW :: GWitness l -> Bool Source

Check whether a witness is a WVar or WCon.

Abstractions

isXAbs :: GExp l -> Bool Source

Check whether an expression is an abstraction.

isXLAM :: GExp l -> Bool Source

Check whether an expression is a spec abstraction (level-1).

isXLam :: GExp l -> Bool Source

Check whether an expression is a value or witness abstraction (level-0).

Applications

isXApp :: GExp l -> Bool Source

Check whether an expression is an XApp.

Let bindings

isXLet :: GExp l -> Bool Source

Check whether an expression is a XLet.

Patterns

isPDefault :: GPat l -> Bool Source

Check whether an alternative is a PDefault.