module Language.Egison.VarEntry
( VarEntry(..)
) where
import Language.Egison.IExpr (Var(..), Index(..))
data VarEntry a = VarEntry
{ forall a. VarEntry a -> [Index (Maybe Var)]
veIndices :: [Index (Maybe Var)]
, forall a. VarEntry a -> a
veValue :: a
}
deriving (VarEntry a -> VarEntry a -> Bool
(VarEntry a -> VarEntry a -> Bool)
-> (VarEntry a -> VarEntry a -> Bool) -> Eq (VarEntry a)
forall a. Eq a => VarEntry a -> VarEntry a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => VarEntry a -> VarEntry a -> Bool
== :: VarEntry a -> VarEntry a -> Bool
$c/= :: forall a. Eq a => VarEntry a -> VarEntry a -> Bool
/= :: VarEntry a -> VarEntry a -> Bool
Eq, Int -> VarEntry a -> ShowS
[VarEntry a] -> ShowS
VarEntry a -> String
(Int -> VarEntry a -> ShowS)
-> (VarEntry a -> String)
-> ([VarEntry a] -> ShowS)
-> Show (VarEntry a)
forall a. Show a => Int -> VarEntry a -> ShowS
forall a. Show a => [VarEntry a] -> ShowS
forall a. Show a => VarEntry a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> VarEntry a -> ShowS
showsPrec :: Int -> VarEntry a -> ShowS
$cshow :: forall a. Show a => VarEntry a -> String
show :: VarEntry a -> String
$cshowList :: forall a. Show a => [VarEntry a] -> ShowS
showList :: [VarEntry a] -> ShowS
Show)