MissingH-1.0.0: Large utility librarySource codeContentsIndex
System.IO.HVFS.InstanceHelpers
Portabilityportable
Stabilityprovisional
MaintainerJohn Goerzen <jgoerzen@complete.org>
Contents
HVFSStat objects
HVFS objects & types
MemoryVFS
Utilities
Description

Utilities for creating instances of the items defined in System.IO.HVFS.

Copyright (c) 2004 John Goerzen, jgoerzen@complete.org

Synopsis
data SimpleStat = SimpleStat {
isFile :: Bool
fileSize :: FileOffset
}
data MemoryVFS
newMemoryVFS :: [MemoryNode] -> IO MemoryVFS
newMemoryVFSRef :: IORef [MemoryNode] -> IO MemoryVFS
type MemoryNode = (String, MemoryEntry)
data MemoryEntry
= MemoryDirectory [MemoryNode]
| MemoryFile String
nice_slice :: String -> [String]
getFullPath :: HVFS a => a -> String -> IO String
getFullSlice :: HVFS a => a -> String -> IO [String]
HVFSStat objects
data SimpleStat Source
A simple System.IO.HVFS.HVFSStat class that assumes that everything is either a file or a directory.
Constructors
SimpleStat
isFile :: BoolTrue if file, False if directory
fileSize :: FileOffsetSet to 0 if unknown or a directory
show/hide Instances
HVFS objects & types
MemoryVFS
data MemoryVFS Source
An in-memory read/write filesystem. Think of it as a dynamically resizable ramdisk written in Haskell.
show/hide Instances
newMemoryVFS :: [MemoryNode] -> IO MemoryVFSSource
Create a new MemoryVFS object from an existing tree. An empty filesystem may be created by using [] for the parameter.
newMemoryVFSRef :: IORef [MemoryNode] -> IO MemoryVFSSource
Create a new MemoryVFS object using an IORef to an existing tree.
type MemoryNode = (String, MemoryEntry)Source
The basic node of a MemoryVFS. The String corresponds to the filename, and the entry to the contents.
data MemoryEntry Source
The content of a file or directory in a MemoryVFS.
Constructors
MemoryDirectory [MemoryNode]
MemoryFile String
show/hide Instances
Utilities
nice_slice :: String -> [String]Source

Similar to System.Path.NameManip but the first element won't be /.

nice_slice "/" -> []
nice_slice "/foo/bar" -> ["foo", "bar"]
getFullPath :: HVFS a => a -> String -> IO StringSource
Gets a full path, after investigating the cwd.
getFullSlice :: HVFS a => a -> String -> IO [String]Source
Gets the full path via getFullPath, then splits it via nice_slice.
Produced by Haddock version 2.6.0