Safe Haskell | None |
---|---|
Language | Haskell98 |
ZFS
- newClientPort :: PortNumber
- fs1 :: Term
- fs2 :: Term
- type FSZipper r m = DZipper r m Term Path
- data OSReq r m
- type UnitK r m = CCT r m () -> CCT r m (OSReq r m)
- type ReadK r m = CCT r m String -> CCT r m (OSReq r m)
- data ProcessCTX = ProcessCTX {}
- data JobQueueT r
- = JQBlockedOnRead ProcessCTX (ReadK r IO)
- | JQRunnable ProcessCTX (UnitK r IO)
- | JQNewClient Socket
- data World r = World {}
- main' :: Term -> IO a
- osloop :: World t -> CCT t IO b
- syslog :: MonadIO m => [String] -> m ()
- interpret'req :: World r -> ProcessCTX -> OSReq r IO -> CCT r IO (World r)
- run'process :: (forall m. Monad m => Prompt r (OSReq r m) -> CCT r m (OSReq r m)) -> Prompt r (OSReq r IO) -> CCT r IO (OSReq r IO)
- fsProcess :: Monad m => CCT r m (FSZipper r m) -> Prompt r (OSReq r m) -> CCT r m (OSReq r m)
- fsloop :: forall r m. Monad m => DZipper r m Term Path -> Prompt r (OSReq r m) -> String -> CCT r m (OSReq r m)
- show_path :: [Path] -> String
- fsCommands :: Monad m => [(String, FSZipper r m -> Prompt r (OSReq r m) -> String -> String -> String -> CCT r m (OSReq r m))]
- fcmd'commit :: forall t t1 r m. Monad m => DZipper r m Term Path -> Prompt r (OSReq r m) -> t -> t1 -> String -> CCT r m (OSReq r m)
- data FSCmdResp r m
- fsWrapper :: forall t t1 r m. Monad m => (FSZipper r m -> Prompt r (FSCmdResp r m) -> t -> t1 -> CCT r m (FSCmdResp r m)) -> FSZipper r m -> Prompt r (OSReq r m) -> t -> t1 -> String -> CCT r m (OSReq r m)
- cmd'help :: forall t t1 t2 m r m1 r1 m2. (Monad m, Monad m1) => FSZipper r m -> t -> t1 -> t2 -> m1 (FSCmdResp r1 m2)
- cmd'ls :: forall t r m r1 m1. Monad m => FSZipper r m -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r1 m1)
- cmd'next :: forall t t1 t2 r m. Monad m => DZipper r m Term Path -> t -> t1 -> t2 -> CCT r m (FSCmdResp r m)
- cd'zipper :: Monad m => FSZipper r m -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSZipper r m)
- list_node :: forall t t1 t2. DZipper t t1 Term t2 -> String
- cmd'mknode :: forall t r r1 m m1. Monad m1 => Term -> DZipper r m1 Term Path -> Prompt r (FSCmdResp r1 m) -> t -> String -> CCT r m1 (FSCmdResp r m1)
- cmd'echo :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m)
- zip'back'to'place :: forall r m r1 m1 term. Monad m => Prompt r (FSCmdResp r m) -> DZipper r1 m1 term Path -> DZipper r m Term Path -> CCT r m (FSZipper r m)
- del'zipper :: forall r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSZipper r m, Term)
- ins'zipper :: forall r m. Monad m => Term -> FSZipper r m -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSCmdResp r m)
- cmd'rm :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m)
- cmd'mv :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m)
- cmd'cp :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m)
- svc :: Monad m => Prompt r b -> ((CCT r m a -> CCT r m b) -> b) -> CCT r m a
- is'nl :: Char -> Bool
- is'whitespace :: Char -> Bool
- breakspan :: (a -> Bool) -> [a] -> ([a], [a])
- split'path :: String -> (String, String)
- type FDSET = CUInt
- type TIMEVAL = CLong
- c_select :: CInt -> Ptr FDSET -> Ptr FDSET -> Ptr FDSET -> Ptr TIMEVAL -> IO CInt
- fd2fds :: CInt -> [FDSET]
- fds2mfd :: [FDSET] -> [CInt]
- test_fd_conv :: Bool
- test_fd_conv' :: Bool
- select'read'pending :: [CInt] -> IO [CInt]
- fcntl :: CInt -> CInt -> CInt -> IO CInt
- cleanup'fd :: [CInt] -> IO ()
Documentation
data ProcessCTX Source
Constructors
ProcessCTX | |
Constructors
JQBlockedOnRead ProcessCTX (ReadK r IO) | |
JQRunnable ProcessCTX (UnitK r IO) | |
JQNewClient Socket |
interpret'req :: World r -> ProcessCTX -> OSReq r IO -> CCT r IO (World r) Source
run'process :: (forall m. Monad m => Prompt r (OSReq r m) -> CCT r m (OSReq r m)) -> Prompt r (OSReq r IO) -> CCT r IO (OSReq r IO) Source
fsProcess :: Monad m => CCT r m (FSZipper r m) -> Prompt r (OSReq r m) -> CCT r m (OSReq r m) Source
fsloop :: forall r m. Monad m => DZipper r m Term Path -> Prompt r (OSReq r m) -> String -> CCT r m (OSReq r m) Source
fsCommands :: Monad m => [(String, FSZipper r m -> Prompt r (OSReq r m) -> String -> String -> String -> CCT r m (OSReq r m))] Source
fcmd'commit :: forall t t1 r m. Monad m => DZipper r m Term Path -> Prompt r (OSReq r m) -> t -> t1 -> String -> CCT r m (OSReq r m) Source
fsWrapper :: forall t t1 r m. Monad m => (FSZipper r m -> Prompt r (FSCmdResp r m) -> t -> t1 -> CCT r m (FSCmdResp r m)) -> FSZipper r m -> Prompt r (OSReq r m) -> t -> t1 -> String -> CCT r m (OSReq r m) Source
cmd'help :: forall t t1 t2 m r m1 r1 m2. (Monad m, Monad m1) => FSZipper r m -> t -> t1 -> t2 -> m1 (FSCmdResp r1 m2) Source
cmd'ls :: forall t r m r1 m1. Monad m => FSZipper r m -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r1 m1) Source
cmd'next :: forall t t1 t2 r m. Monad m => DZipper r m Term Path -> t -> t1 -> t2 -> CCT r m (FSCmdResp r m) Source
cd'zipper :: Monad m => FSZipper r m -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSZipper r m) Source
cmd'mknode :: forall t r r1 m m1. Monad m1 => Term -> DZipper r m1 Term Path -> Prompt r (FSCmdResp r1 m) -> t -> String -> CCT r m1 (FSCmdResp r m1) Source
cmd'echo :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m) Source
zip'back'to'place :: forall r m r1 m1 term. Monad m => Prompt r (FSCmdResp r m) -> DZipper r1 m1 term Path -> DZipper r m Term Path -> CCT r m (FSZipper r m) Source
zipback'to
place z z1| brings z1 to the same place as z
Right now we use a pathetic algorithm -- but it works...
del'zipper :: forall r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSZipper r m, Term) Source
ins'zipper :: forall r m. Monad m => Term -> FSZipper r m -> Prompt r (FSCmdResp r m) -> String -> CCT r m (FSCmdResp r m) Source
cmd'rm :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m) Source
cmd'mv :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m) Source
cmd'cp :: forall t r m. Monad m => DZipper r m Term Path -> Prompt r (FSCmdResp r m) -> t -> String -> CCT r m (FSCmdResp r m) Source
is'whitespace :: Char -> Bool Source
split'path :: String -> (String, String) Source
select'read'pending :: [CInt] -> IO [CInt] Source
cleanup'fd :: [CInt] -> IO () Source