MissingH-1.6.0.0: Large utility library
CopyrightCopyright (C) 2004-2011 John Goerzen
LicenseBSD-3-Clause
Stabilitystable
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.IO.HVFS.InstanceHelpers

Description

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

Synopsis

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 

Fields

HVFS objects & types

MemoryVFS

data MemoryVFS Source #

An in-memory read/write filesystem. Think of it as a dynamically resizable ramdisk written in Haskell.

Instances

Instances details
Show MemoryVFS Source # 
Instance details

Defined in System.IO.HVFS.InstanceHelpers

HVFSOpenable MemoryVFS Source # 
Instance details

Defined in System.IO.HVFS.InstanceHelpers

HVFS MemoryVFS Source # 
Instance details

Defined in System.IO.HVFS.InstanceHelpers

newMemoryVFS :: [MemoryNode] -> IO MemoryVFS Source #

Create a new MemoryVFS object from an existing tree. An empty filesystem may be created by using [] for the parameter.

newMemoryVFSRef :: IORef [MemoryNode] -> IO MemoryVFS Source #

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.

Instances

Instances details
Eq MemoryEntry Source # 
Instance details

Defined in System.IO.HVFS.InstanceHelpers

Show MemoryEntry Source # 
Instance details

Defined in System.IO.HVFS.InstanceHelpers

Utilities

nice_slice :: String -> [String] Source #

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

nice_slice "/" -> []
nice_slice "/foo/bar" -> ["foo", "bar"]

getFullPath :: HVFS a => a -> String -> IO String Source #

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.