úÎ,ï)è     None 8Information about cought exceptions in various routines   eceptions   eceptions   eceptions  eceptions  exceptions  Log failures IO-exceptions-free  IO-exceptions-free   that returns  instead of   ! that returns  instead of   IO-exceptions-free " Make paths in  relative to given # $%& '    $%& ' None $Representation of directory layouts  Invariants:   second argument is never D _ _ _ or F _ _ _ itself   third argument is never T _ _   second argument is never T _ _   third argument is never T _ _ Directory node  File node File contents Emptyness, nothing found here %Type synonym to save some acrobatics  ()*+,-./01   ()*+,-./01NoneMake layout as specified 3For example, suppose you are in an empty directory    % tree  . and you've written simple layout:    layout = do  directory "baz" $  file_ "twey"  directory "foo" $ do  directory "bar" $ do  file_ "quuz"  file_ "tatata"  file_ "quux" 6then running it should result in this directory tree:   % tree  .  %%% baz  %   %%% twey  %%% foo  %%% bar  %   %%% quuz  %   %%% tatata  %%% quux 1Check directory layout agrees with specified one &For example, suppose there is a tree:    % tree  .  %%% baz  %   %%% twey  %%% foo  %%% bar  %   %%% quuz  %   %%% tatata  %%% quux then you can write:    layout = do  directory "baz" $  file_ "twey"  directory "foo" $ do  directory "bar" $ do  file_ "quuz"  file_ "tatata"  file_ "quux"  and running  check layout "." should result in [] 2345Root directory List of warnings 67Root directory List of failures 89 23456789NoneGet : out of the current  (if possible) layout ^? textNothinglayout ^? file "foo" . textJust "not empty".layout ^? directory "bar" . file "quux" . textJust "something""Look into the file in the current  (if possible) layout ^? file "biz"Nothinglayout ^? file "swaks" Just (E ())&layout ^? directory "bar" . file "baz" Just (E ())%Go into the directory in the current  (if possible) layout ^? directory "foo"Nothinglayout ^? directory "bar":Just (F "baz" (E ()) (F "quux" (T "something" ()) (E ())))None%Declare file with specified contents Declare empty file )Declare directory with specified listing Declare empty directory   ;      ! "#$ !%&'()*+ !,"#&-./0123456789:;<=>?@ABCD"EFGdirectory-layout-0.3.1.0System.Directory.Layout.Errored System.Directory.Layout.Internal System.Directory.Layout.TraverseSystem.Directory.Layout.LensSystem.Directory.LayoutLayoutExceptionRFDEFECFCDanyfailcreateDirectory createFile fileExistsdirectoryExistsreadFilerelativeDLDFTELayoutmakechecktextfile directoryfile_ directory_directory-1.2.0.1System.Directory text-0.11.3.1 Data.Text.IO writeFile doesFileExistbase Data.EitherEitherghc-prim GHC.TypesBooldoesDirectoryExistGHC.IOFilePathtryio createFileX readFileX$fTraversableDL $fFoldableDL $fMonadDL$fBindDL$fApplicativeDL $fApplyDL $fFunctorDL $fMonoidDL $fSemigroupDL $fDefaultDLRunTrunRunT applyTraverse changeDirmakeFile makeDirectory checkFilecheckDirectoryData.Text.InternalText