Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- https://github.com/tweag/HaskellR/blob/master/inline-r/src/H/Prelude/Interactive.hs
- -- |
- -- Copyright: (C) 2013 Amgen, Inc.
- --
- -- This class is not meant to be imported in any other circumstance than in
- -- a GHCi session.
- {-# 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 = id
- data ExecContext IO = ExecContext
- getExecContext = return ExecContext
- unsafeRunWithExecContext = const
- class PrintR a where
- printR :: MonadR m => a -> m ()
- instance PrintR (SEXP s a) where
- printR = io . R.printValue
- instance PrintR (R.SomeSEXP s) where
- printR s = R.unSomeSEXP s printR
- -- | A form of the 'printR' function that is more convenient in an interactive
- -- session.
- p :: (MonadR m, PrintR a) => m a -> m ()
- p = (>>= printR)
- -- | A form of the 'printR' function that is more convenient in an interactive
- -- session.
- {-# DEPRECATED printQuote "Use 'p' instead." #-}
- printQuote :: (MonadR m, PrintR a) => m a -> m ()
- printQuote = p
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement