content: -- | Disciple Core Salt.
  --
  --   This is what happens to 'C' when you leave it out in the sun for too long.
  --
  --   Salt is a fragment of System-F2 that contains just those features that
  --   can be easily mapped onto C or LLVM code. It has functions, case
  --   expressions and primops, but no partial application, data types, or nested
  --   functions. All operations on algebraic data need to have been expanded to
  --   primitive store operations.
  --
  --   Salt exposes raw store and control primops, so its possible for functions
  --   written directly in Salt to corrupt the heap (if they are wrong).
  --
  module DDC.Core.Salt
          ( -- * Language profile
            profile
  
            -- * Names
          , Name          (..)
          , PrimTyCon     (..)
  
            -- ** Primitive Values
          , PrimVal       (..)
          , pattern NamePrimOp
          , pattern NamePrimLit
  
            -- ** Primitive Operators
          , PrimOp        (..)
          , PrimArith     (..)
          , PrimCast      (..)
          , PrimStore     (..)
          , PrimControl   (..)
  
          , primCastPromoteIsValid
          , primCastTruncateIsValid
  
            -- ** Primitive Literals
          , PrimLit       (..)
          , pattern NameLitVoid
          , pattern NameLitBool
          , pattern NameLitNat
          , pattern NameLitInt
          , pattern NameLitSize
          , pattern NameLitWord
          , pattern NameLitFloat
          , pattern NameLitTextLit
          , pattern NameLitTag
  
            -- * Name parsing
          , readName
          , takeNameVar
  
            -- * Program lexing
          , lexModuleString
          , lexExpString
  
            -- * Name generation
          , freshT
          , freshX
  
            -- * Name sanitization
          , seaNameOfSuper
          , seaNameOfLocal
          , sanitizeName
  
          , module DDC.Core.Salt.Exp)
  where
  import DDC.Core.Salt.Name
  import DDC.Core.Salt.Profile
  import DDC.Core.Salt.Exp
  