directory-layout-0.3.1.0: Declare, construct and verify directory layout

Safe HaskellNone

System.Directory.Layout.Internal

Description

Free monad based directory layouts

Synopsis

Documentation

data DL a Source

Representation of directory layouts

Invariants:

  • F second argument is never D _ _ _ or F _ _ _ itself
  • F third argument is never T _ _
  • D second argument is never T _ _
  • D third argument is never T _ _

Constructors

E !a

Emptyness, nothing found here

T !Text !a

File contents

F !FilePath !Layout !(DL a)

File node

D !FilePath !Layout !(DL a)

Directory node

Instances

Monad DL 
Functor DL 
Applicative DL 
Foldable DL 
Traversable DL 
Apply DL 
Bind DL 
Eq a => Eq (DL a) 
Ord a => Ord (DL a) 
Read a => Read (DL a) 
Show a => Show (DL a) 
Default a => Monoid (DL a) 
Default a => Default (DL a) 
Semigroup (DL a) 

type Layout = DL ()Source

Type synonym to save some acrobatics