packages feed

ddc-core-0.4.3.1: DDC/Core/Exp/Generic.hs

module DDC.Core.Exp.Generic
        ( -- * Abstract Syntax
          -- ** Expressions
          GAnnot
        , GBind
        , GBound
        , GPrim

        , GExp          (..)
        , GAbs          (..)
        , GArg          (..)
        , GLets         (..)
        , GAlt          (..)
        , GPat          (..)
        , GCast         (..)
        , GWitness      (..)
        , GWiCon        (..)

        , pattern XLAM
        , pattern XLam

          ---------------------------------------
          -- * Predicates
        , module DDC.Type.Exp.Simple.Predicates

          -- ** Atoms
        , isXVar,  isXCon
        , isAtomX, isAtomR, isAtomW

          -- ** Abstractions
        , isXAbs, isXLAM, isXLam

          -- ** Applications
        , isXApp

          -- ** Let bindings
        , isXLet

          -- ** Patterns
        , isPDefault

          ---------------------------------------
          -- * Compounds
        , module DDC.Type.Exp.Simple.Compounds

          -- ** Abstractions
        , makeXAbs,     takeXAbs
        , makeXLAMs,    takeXLAMs
        , makeXLams,    takeXLams

          -- ** Applications
        , makeXApps,    takeXApps,      splitXApps
        , takeXConApps
        , takeXPrimApps

          -- ** Data Constructors
        , dcUnit
        , takeNameOfDaCon
        , takeTypeOfDaCon

          ---------------------------------------
          -- * Dictionaries
        , ShowLanguage)
where
import DDC.Core.Exp.Generic.Exp
import DDC.Core.Exp.Generic.Predicates
import DDC.Core.Exp.Generic.Compounds   
import DDC.Core.Exp.Generic.Pretty              ()
import DDC.Type.Exp.Simple.Compounds
import DDC.Type.Exp.Simple.Predicates