{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module H.Prelude.Interactive
( module H.Prelude
, PrintR(..)
, p
, printQuote
)
where
import qualified Foreign.R as R
import H.Prelude hiding (withEmbeddedR)
instance MonadR IO where
io :: forall a. IO a -> IO a
io = forall a. a -> a
id
data ExecContext IO = ExecContext
getExecContext :: IO (ExecContext IO)
getExecContext = forall (m :: * -> *) a. Monad m => a -> m a
return ExecContext IO
ExecContext
unsafeRunWithExecContext :: forall a. IO a -> ExecContext IO -> IO a
unsafeRunWithExecContext = forall a b. a -> b -> a
const
class PrintR a where
printR :: MonadR m => a -> m ()
instance PrintR (SEXP s a) where
printR :: forall (m :: * -> *). MonadR m => SEXP s a -> m ()
printR = forall (m :: * -> *) a. MonadR m => IO a -> m a
io forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall s (a :: SEXPTYPE). SEXP s a -> IO ()
R.printValue
instance PrintR (R.SomeSEXP s) where
printR :: forall (m :: * -> *). MonadR m => SomeSEXP s -> m ()
printR SomeSEXP s
s = forall s r.
SomeSEXP s -> (forall (a :: SEXPTYPE). SEXP s a -> r) -> r
R.unSomeSEXP SomeSEXP s
s forall a (m :: * -> *). (PrintR a, MonadR m) => a -> m ()
printR
p :: (MonadR m, PrintR a) => m a -> m ()
p :: forall (m :: * -> *) a. (MonadR m, PrintR a) => m a -> m ()
p = (forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= forall a (m :: * -> *). (PrintR a, MonadR m) => a -> m ()
printR)
{-# DEPRECATED printQuote "Use 'p' instead." #-}
printQuote :: (MonadR m, PrintR a) => m a -> m ()
printQuote :: forall (m :: * -> *) a. (MonadR m, PrintR a) => m a -> m ()
printQuote = forall (m :: * -> *) a. (MonadR m, PrintR a) => m a -> m ()
p