haskell-src-exts-1.5.0: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer

Portabilityportable
Stabilitystable
MaintainerNiklas Broberg, d00nibro@chalmers.se

Language.Haskell.Exts.SrcLoc

Description

This module defines various data types representing source location information, of varying degree of preciseness.

Synopsis

Documentation

data SrcLoc Source

A single position in the source.

Constructors

SrcLoc 

data SrcSpan Source

A portion of the source, spanning one or more lines and zero or more columns.

mkSrcSpan :: SrcLoc -> SrcLoc -> SrcSpanSource

Combine two locations in the source to denote a span.

mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpanSource

Merge two source spans into a single span from the start of the first to the end of the second. Assumes that the two spans are given in the order they appear in the source.

isNullSpan :: SrcSpan -> BoolSource

Test if a given span starts and ends at the same location.

data Loc a Source

An entity located in the source.

Constructors

Loc 

Fields

loc :: SrcSpan
 
unLoc :: a
 

Instances

Eq a => Eq (Loc a) 
Ord a => Ord (Loc a) 
Show a => Show (Loc a) 

data SrcSpanInfo Source

A portion of the source, extended with information on the position of entities within the span.

Constructors

SrcSpanInfo