diff --git a/inline-r/src/Foreign/R/Internal.hs b/inline-r/src/Foreign/R/Internal.hs index 0a00acda..8974f521 100644 --- a/inline-r/src/Foreign/R/Internal.hs +++ b/inline-r/src/Foreign/R/Internal.hs @@ -23,7 +23,6 @@ import Foreign.R.Context (SEXP0(..)) import Control.Applicative import Control.DeepSeq (NFData(..)) import Control.Monad.Primitive ( unsafeInlineIO ) -import Data.Singletons (fromSing) import Foreign (Ptr, Storable(..)) import Foreign.C import Prelude hiding (asTypeOf, length) @@ -75,9 +74,6 @@ cIntConv = fromIntegral cIntToEnum :: Enum a => CInt -> a cIntToEnum = toEnum . cIntConv -cUIntFromSingEnum :: SSEXPTYPE a -> CUInt -cUIntFromSingEnum = cIntConv . fromEnum . fromSing - cIntFromEnum :: Enum a => a -> CInt cIntFromEnum = cIntConv . fromEnum diff --git a/inline-r/src/Foreign/R/Type.hsc b/inline-r/src/Foreign/R/Type.hsc index 00d98fef..2c333b21 100644 --- a/inline-r/src/Foreign/R/Type.hsc +++ b/inline-r/src/Foreign/R/Type.hsc @@ -24,17 +24,9 @@ -- c2hs for discharging the boilerplate around 'SEXPTYPE'. This is because -- 'SEXPTYPE' is nearly but not quite a true enumeration and c2hs has trouble -- dealing with that. --- --- This module also defines a singleton version of 'SEXPTYPE', called --- 'SSEXPTYPE'. This is actually a family of types, one for each possible --- 'SEXPTYPE'. Singleton types are a way of emulating dependent types in --- a language that does not have true dependent type. They are useful in --- functions whose result type depends on the value of one of its arguments. See --- e.g. 'Foreign.R.allocVector'. module Foreign.R.Type ( SEXPTYPE(..) - , SSEXPTYPE(..) , Sing , Logical(..) , PairList @@ -188,8 +180,6 @@ instance Enum ParseStatus where (#const PARSE_EOF) -> PARSE_EOF _ -> error "ParseStatus.fromEnum: can't mach value" -genSingletons [''SEXPTYPE] - -- | Used where the R documentation speaks of "pairlists", which are really just -- regular lists. type PairList = List