{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveLift #-} module Parsers.Brainfuck.Types where import Control.DeepSeq (NFData) import Data.Eq (Eq(..)) import Data.Function (($), (.)) import Data.Functor.Identity (Identity(..)) import GHC.Generics (Generic) import Text.Show (Show(..)) import qualified Language.Haskell.TH as TH import qualified Language.Haskell.TH.Syntax as TH import Symantic.Univariant.Reify import qualified Symantic.Univariant.Lang as H import Symantic.Parser import qualified System.IO as IO import Control.Monad (Monad(..)) data Instruction = Forward | Backward | Increment | Decrement | Input | Output | Loop [Instruction] deriving (Show, Eq, TH.Lift, Generic, NFData)