monopati-0.1.4: Well-typed paths

Safe HaskellSafe
LanguageHaskell2010

System.Monopati.Posix.Core

Synopsis

Documentation

data Points Source #

What the path points to?

Constructors

Directory 
File 

data Origin Source #

What is the beginning of the path?

Constructors

Root

Starting point for absolute path

Now

Indication of current working directory

Home

Indication of home directory

Early

Indication of previous current working directory

Vague

For uncertain relative path

data Dummy Source #

Dummy type needed only for beautiful type declarations

Constructors

For 
To 

type Path = Cofree Maybe String Source #

Path is non-empty sequence of folders or file (in the end)

newtype Outline (origin :: Origin) (points :: Points) Source #

The internal type of path representation

Constructors

Outline 

Fields

Instances
Eq (Outline origin points) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Methods

(==) :: Outline origin points -> Outline origin points -> Bool #

(/=) :: Outline origin points -> Outline origin points -> Bool #

Read (Outline Root Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Root File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Now Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Now File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Home Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Home File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Early Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Early File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Vague Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Read (Outline Vague File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Root Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Root File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Now Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Now File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Home Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Home File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Early Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Early File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Vague Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Outline Vague File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

data Parent origin points Source #

Constructors

Incompleted origin => Parent Peano (Outline origin points) 
Instances
Show (Parent Now Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Now File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Home Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Home File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Early Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Early File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Vague Directory) Source # 
Instance details

Defined in System.Monopati.Posix.Core

Show (Parent Vague File) Source # 
Instance details

Defined in System.Monopati.Posix.Core

type family Absolute (path :: Type) (to :: Dummy) (points :: Points) :: Type where ... Source #

Equations

Absolute Path To points = Outline Root points 

type family Current (path :: Type) (to :: Dummy) (points :: Points) :: Type where ... Source #

Equations

Current Path To points = Outline Now points 

type family Homeward (path :: Type) (to :: Dummy) (points :: Points) :: Type where ... Source #

Equations

Homeward Path To points = Outline Home points 

type family Previous (path :: Type) (to :: Dummy) (points :: Points) :: Type where ... Source #

Equations

Previous Path To points = Outline Early points 

type family Relative (path :: Type) (to :: Dummy) (points :: Points) :: Type where ... Source #

Equations

Relative Path To points = Outline Vague points 

type family Incompleted (origin :: Origin) :: Constraint where ... Source #

Equations

Incompleted Now = () 
Incompleted Home = () 
Incompleted Early = () 
Incompleted Vague = () 

type family Certain (origin :: Origin) :: Constraint where ... Source #

Equations

Certain Root = () 
Certain Now = () 
Certain Home = () 
Certain Early = () 

type family Parental (for :: Dummy) (outline :: Type) :: Type where ... Source #

Equations

Parental For (Outline origin points) = Parent origin points