-- | The Feldspar core language

module Feldspar.Core
    (
      -- * Reexported standard modules
      Complex (..)
    , module Data.Int
    , module Data.Word

      -- * DSL library
    , Role
    , Internal
    , Info

      -- * Feldspar types
    , module Feldspar.Set
    , Range (..)
    , (:>) (..)
    , DefaultWord (..)
    , DefaultInt (..)
    , Length
    , Index
    , Type
    , Size
    , fullProp

      -- * Core constructs
    , EdgeSize (..)
    , Data
    , Syntactic
    , dataSize
    , resizeData
    , force
    , eval
    , viewLiteral
    , drawExpr
    , drawExpr2

    , value
    , unit
    , true
    , false
    , array
    , cap
    , function
    , function1
    , function2
    , condition
    , (?)
    , ifThenElse
    , parallel''
    , parallel'
    , parallel
    , forLoop
    , sequential
    , noinline
    , noinline2
    , setLength

    -- * Functions
    , module Feldspar.Core.Functions

    -- * Wrapping
    , module Feldspar.Core.Wrap
    ) where



import Prelude ()
import Data.Complex
import Data.Int hiding (Int)
import Data.Word

import Feldspar.DSL.Network
import Feldspar.Set
import Feldspar.Range
import Feldspar.Core.Types
import Feldspar.Core.Representation
import Feldspar.Core.Constructs
import Feldspar.Core.Functions
import Feldspar.Core.Wrap