module Halfs.Directory where import Data.Integral import Data.Map(Map) import GHC.Base -- import Halfs import {-# SOURCE #-} Halfs.FileHandle data Directory = Directory {dirFile :: FileHandle ,dirContents :: DirectoryMap ,dirDirty :: Bool } type DirectoryMap = Map String INInt data DirectoryCache = DirectoryCache { dirCacheDirty :: Bool , _dirCache :: Map INInt Directory} removeChild :: Directory -> String -> Directory getChildWithName :: Directory -> String -> Maybe INInt getDirectoryFromCache :: DirectoryCache -> INInt -> Maybe Directory