{-# LANGUAGE DeriveDataTypeable #-} module Language.Haskell.Syntax.Basic where import Data.Int (Int) import Data.Eq import Data.Bool import Data.Data {- ************************************************************************ * * Boxity * * ************************************************************************ -} data Boxity = Boxed | Unboxed deriving( Eq, Data ) isBoxed :: Boxity -> Bool isBoxed Boxed = True isBoxed Unboxed = False {- ************************************************************************ * * Counts and indices * * ************************************************************************ -} -- | The width of an unboxed sum type SumWidth = Int -- | A *one-index* constructor tag -- -- Type of the tags associated with each constructor possibility or superclass -- selector type ConTag = Int