symantic-grammar-0.3.0.20180213: Library for symantic grammars.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Grammar.Source

Contents

Synopsis

Class Source

class Source src where Source #

Minimal complete definition

noSource

Methods

noSource :: src Source #

Instances

Source () Source # 

Methods

noSource :: () Source #

Class SourceInj

class Source src => SourceInj a src where Source #

Minimal complete definition

sourceInj

Methods

sourceInj :: a -> src Source #

Instances

SourceInj a () Source # 

Methods

sourceInj :: a -> () Source #

Type family SourceOf

type family SourceOf a Source #

Type Sourced

class Source (SourceOf a) => Sourced a where Source #

Minimal complete definition

sourceOf, setSource

Methods

sourceOf :: a -> SourceOf a Source #

setSource :: a -> SourceOf a -> a infixl 5 Source #

withSource :: SourceInj src (SourceOf a) => Sourced a => a -> src -> a Source #

Type Source_Input

type family Source_Input (src :: *) :: * Source #

Instances

type Source_Input () Source # 
type Source_Input () = ()

Type Span

data Span src Source #

Constructors

Span 

Fields

Instances

Eq src => Eq (Span src) Source # 

Methods

(==) :: Span src -> Span src -> Bool #

(/=) :: Span src -> Span src -> Bool #

Ord src => Ord (Span src) Source # 

Methods

compare :: Span src -> Span src -> Ordering #

(<) :: Span src -> Span src -> Bool #

(<=) :: Span src -> Span src -> Bool #

(>) :: Span src -> Span src -> Bool #

(>=) :: Span src -> Span src -> Bool #

max :: Span src -> Span src -> Span src #

min :: Span src -> Span src -> Span src #

Show src => Show (Span src) Source # 

Methods

showsPrec :: Int -> Span src -> ShowS #

show :: Span src -> String #

showList :: [Span src] -> ShowS #

Type At

data At src a Source #

Attach a Source to something.

Constructors

At 

Fields

Instances

Functor (At src) Source # 

Methods

fmap :: (a -> b) -> At src a -> At src b #

(<$) :: a -> At src b -> At src a #

(Eq a, Eq src) => Eq (At src a) Source # 

Methods

(==) :: At src a -> At src a -> Bool #

(/=) :: At src a -> At src a -> Bool #

(Ord a, Ord src) => Ord (At src a) Source # 

Methods

compare :: At src a -> At src a -> Ordering #

(<) :: At src a -> At src a -> Bool #

(<=) :: At src a -> At src a -> Bool #

(>) :: At src a -> At src a -> Bool #

(>=) :: At src a -> At src a -> Bool #

max :: At src a -> At src a -> At src a #

min :: At src a -> At src a -> At src a #

(Show a, Show src) => Show (At src a) Source # 

Methods

showsPrec :: Int -> At src a -> ShowS #

show :: At src a -> String #

showList :: [At src a] -> ShowS #