13
13
module Data.Rakhana.Tape
14
14
( Drive
15
15
, Direction (.. )
16
- , Req
17
- , Resp
16
+ , TReq
17
+ , TResp
18
18
, Tape
19
19
, driveBottom
20
20
, driveBackward
@@ -42,16 +42,16 @@ import Pipes
42
42
import Pipes.Core
43
43
44
44
--------------------------------------------------------------------------------
45
- type Tape m a = Server' Req Resp m a
46
- type Drive m a = Client' Req Resp m a
45
+ type Tape m a = Server' TReq TResp m a
46
+ type Drive m a = Client' TReq TResp m a
47
47
48
48
--------------------------------------------------------------------------------
49
49
data Direction
50
50
= Forward
51
51
| Backward
52
52
53
53
--------------------------------------------------------------------------------
54
- data Req
54
+ data TReq
55
55
= Seek Integer
56
56
| GetSeek
57
57
| Top
@@ -63,7 +63,7 @@ data Req
63
63
| Discard Int
64
64
65
65
--------------------------------------------------------------------------------
66
- data Resp
66
+ data TResp
67
67
= Unit
68
68
| Binary B. ByteString
69
69
| BinaryLazy BL. ByteString
@@ -90,9 +90,9 @@ initTapeState path h
90
90
91
91
--------------------------------------------------------------------------------
92
92
tapeLoop :: Monad m
93
- => (TapeState -> Req -> Tape m (Resp , TapeState ))
93
+ => (TapeState -> TReq -> Tape m (TResp , TapeState ))
94
94
-> TapeState
95
- -> Req
95
+ -> TReq
96
96
-> Tape m r
97
97
tapeLoop k s rq
98
98
= do (r, s') <- k s rq
@@ -122,23 +122,23 @@ fileTape path
122
122
dispatch s (Discard i) = tapeDiscard s i
123
123
124
124
--------------------------------------------------------------------------------
125
- tapeTop :: MonadIO m => TapeState -> Tape m (Resp , TapeState )
125
+ tapeTop :: MonadIO m => TapeState -> Tape m (TResp , TapeState )
126
126
tapeTop s
127
127
= do liftIO $ hSeek h AbsoluteSeek 0
128
128
return (Unit , s { tapeStatePos = 0 })
129
129
where
130
130
h = tapeStateHandle s
131
131
132
132
--------------------------------------------------------------------------------
133
- tapeBottom :: MonadIO m => TapeState -> Tape m (Resp , TapeState )
133
+ tapeBottom :: MonadIO m => TapeState -> Tape m (TResp , TapeState )
134
134
tapeBottom s
135
135
= do liftIO $ hSeek h SeekFromEnd 0
136
136
return (Unit , s { tapeStatePos = 0 })
137
137
where
138
138
h = tapeStateHandle s
139
139
140
140
--------------------------------------------------------------------------------
141
- tapeSeek :: MonadIO m => TapeState -> Integer -> Tape m (Resp , TapeState )
141
+ tapeSeek :: MonadIO m => TapeState -> Integer -> Tape m (TResp , TapeState )
142
142
tapeSeek s i
143
143
= do case d of
144
144
Backward -> liftIO $ hSeek h SeekFromEnd i
@@ -149,13 +149,13 @@ tapeSeek s i
149
149
d = tapeStateDirection s
150
150
151
151
--------------------------------------------------------------------------------
152
- tapeGetSeek :: MonadIO m => TapeState -> Tape m (Resp , TapeState )
152
+ tapeGetSeek :: MonadIO m => TapeState -> Tape m (TResp , TapeState )
153
153
tapeGetSeek s = return (RSeek i, s)
154
154
where
155
155
i = tapeStatePos s
156
156
157
157
--------------------------------------------------------------------------------
158
- tapeGet :: MonadIO m => TapeState -> Int -> Tape m (Resp , TapeState )
158
+ tapeGet :: MonadIO m => TapeState -> Int -> Tape m (TResp , TapeState )
159
159
tapeGet s i
160
160
= case o of
161
161
Forward -> getForward
@@ -181,7 +181,7 @@ tapeGet s i
181
181
return (Binary b, s')
182
182
183
183
--------------------------------------------------------------------------------
184
- tapeGetLazy :: MonadIO m => TapeState -> Int -> Tape m (Resp , TapeState )
184
+ tapeGetLazy :: MonadIO m => TapeState -> Int -> Tape m (TResp , TapeState )
185
185
tapeGetLazy s i
186
186
= case o of
187
187
Forward -> getForward
@@ -207,14 +207,14 @@ tapeGetLazy s i
207
207
return (BinaryLazy b, s')
208
208
209
209
--------------------------------------------------------------------------------
210
- tapeDirection :: MonadIO m => TapeState -> Direction -> Tape m (Resp , TapeState )
210
+ tapeDirection :: MonadIO m => TapeState -> Direction -> Tape m (TResp , TapeState )
211
211
tapeDirection s o
212
212
= return (Unit , s')
213
213
where
214
214
s' = s { tapeStateDirection = o }
215
215
216
216
--------------------------------------------------------------------------------
217
- tapePeek :: MonadIO m => TapeState -> Int -> Tape m (Resp , TapeState )
217
+ tapePeek :: MonadIO m => TapeState -> Int -> Tape m (TResp , TapeState )
218
218
tapePeek s i
219
219
= case o of
220
220
Forward -> peekForward
@@ -238,7 +238,7 @@ tapePeek s i
238
238
return (Binary b,s)
239
239
240
240
--------------------------------------------------------------------------------
241
- tapeDiscard :: MonadIO m => TapeState -> Int -> Tape m (Resp , TapeState )
241
+ tapeDiscard :: MonadIO m => TapeState -> Int -> Tape m (TResp , TapeState )
242
242
tapeDiscard s i
243
243
= case o of
244
244
Forward -> discardForward
0 commit comments