-- | Disciple Core Lite.
--
-- This is a desugared version of Disciple Core that has all the polymorphism
-- of System-F2 along with algebraic data types. It does not yet support
-- user-defined data types, but has Units, Ints, Pairs and Lists baked in.
--
-- Lite exposes arithmetic primops like @add#@ and @or#@, but no store or
-- control primops. Code written in Lite cannot corrupt the heap, assuming
-- the implementation of the Salt primitives it uses (and compiler) is
-- correct.
--
module DDC.Core.Lite
( -- * Language profile
profile
-- * Conversion
, saltOfLiteModule
, Error (..)
-- * Names
, Name (..)
, DataTyCon (..)
, PrimTyCon (..)
, PrimDaCon (..)
, PrimArith (..)
, PrimCast (..)
-- * Name Parsing
, readName
-- * Program Lexing
, lexModuleString
, lexExpString)
where
import DDC.Core.Lite.Name
import DDC.Core.Lite.Profile
import DDC.Core.Lite.Convert