diff options
Diffstat (limited to 'packages/base/src/Internal/Devel.hs')
-rw-r--r-- | packages/base/src/Internal/Devel.hs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/packages/base/src/Internal/Devel.hs b/packages/base/src/Internal/Devel.hs index 89b5103..710d626 100644 --- a/packages/base/src/Internal/Devel.hs +++ b/packages/base/src/Internal/Devel.hs | |||
@@ -64,25 +64,34 @@ mbCatch act = E.catch (Just `fmap` act) f | |||
64 | 64 | ||
65 | -------------------------------------------------------------------------------- | 65 | -------------------------------------------------------------------------------- |
66 | 66 | ||
67 | type CM b r = CInt -> CInt -> Ptr b -> r | ||
67 | type CV b r = CInt -> Ptr b -> r | 68 | type CV b r = CInt -> Ptr b -> r |
68 | type OM b r = CInt -> CInt -> CInt -> CInt -> Ptr b -> r | 69 | type OM b r = CInt -> CInt -> CInt -> CInt -> Ptr b -> r |
69 | 70 | ||
70 | type CIdxs r = CV CInt r | 71 | type CIdxs r = CV CInt r |
71 | type Ok = IO CInt | 72 | type Ok = IO CInt |
72 | 73 | ||
73 | infixr 5 :>, ::> | 74 | infixr 5 :>, ::>, ..> |
74 | type (:>) t r = CV t r | 75 | type (:>) t r = CV t r |
75 | type (::>) t r = OM t r | 76 | type (::>) t r = OM t r |
77 | type (..>) t r = CM t r | ||
76 | 78 | ||
77 | class TransArray c | 79 | class TransArray c |
78 | where | 80 | where |
79 | type Trans c b | 81 | type Trans c b |
82 | type TransRaw c b | ||
83 | type Elem c | ||
80 | apply :: (Trans c b) -> c -> b | 84 | apply :: (Trans c b) -> c -> b |
81 | infixl 1 `apply` | 85 | applyRaw :: (TransRaw c b) -> c -> b |
86 | infixl 1 `apply`, `applyRaw` | ||
82 | 87 | ||
83 | instance Storable t => TransArray (Vector t) | 88 | instance Storable t => TransArray (Vector t) |
84 | where | 89 | where |
85 | type Trans (Vector t) b = CInt -> Ptr t -> b | 90 | type Trans (Vector t) b = CInt -> Ptr t -> b |
91 | type TransRaw (Vector t) b = CInt -> Ptr t -> b | ||
92 | type Elem (Vector t) = t | ||
86 | apply = avec | 93 | apply = avec |
87 | {-# INLINE apply #-} | 94 | {-# INLINE apply #-} |
95 | applyRaw = avec | ||
96 | {-# INLINE applyRaw #-} | ||
88 | 97 | ||