module SMR.Core.Exp ( -- * Abstract Syntax Decl (..) , Exp (..) , Param (..) , Form (..) , Key (..) , Train , Car (..) , Snv (..), SnvBind(..) , Ups (..), UpsBump , Ref (..) , Name, Nom, Depth, Bump , Text -- * Compounds , makeXApps, takeXApps , makeXAbs , nameOfParam, formOfParam -- * Substitution Trains , trainCons , trainAppend , trainApply , snvApply , snvOfNamesArgs -- * Substitution Pushing , pushHead , pushDeep) where import SMR.Core.Exp.Base import SMR.Core.Exp.Compounds import SMR.Core.Exp.Train import SMR.Core.Exp.Push import Data.Text (Text)