On this page:
Srcloc
Srcloc
Srcloc
Srcloc.source
Srcloc.line
Srcloc.column
Srcloc.position
Srcloc.span
Srcloc.to_  report_  string
8.12

6.43 Source Locations🔗ℹ

The . operator can be used on a source location expression as equivalent to calling Srcloc functions:

srcloc.source

 is 

Srcloc.source(srcloc)

srcloc.line

 is 

Srcloc.line(srcloc)

srcloc.column

 is 

Srcloc.column(srcloc)

srcloc.position

 is 

Srcloc.position(srcloc)

srcloc.span

 is 

Srcloc.span(srcloc)

srcloc.to_report_string

 is 

Srcloc.to_report_string(srcloc)

annotation

Srcloc

Matches a source location value.

function

fun Srcloc(source :: Any,

           line :: maybe(PosInt),

           column :: maybe(NonnegInt),

           position :: maybe(PosInt),

           span :: maybe(NonnegInt))

  :: Srcloc

Constructs a source location.

binding operator

Srcloc(source_bind,

       line_bind,

       column_bind,

       position_bind,

       span_bind)

Matches a source location where the components match the corresponding binding forms.

function

fun Srcloc.source(srcloc :: Srcloc) :: Any

 

function

fun Srcloc.line(srcloc :: Srcloc) :: maybe(PosInt)

 

function

fun Srcloc.column(srcloc :: Srcloc) :: maybe(NonnegInt)

 

function

fun Srcloc.position(srcloc :: Srcloc) :: maybe(PosInt)

 

function

fun Srcloc.span(srcloc :: Srcloc) :: maybe(NonnegInt)

Extracts a component of a source location.

Converts a source location into a human-readable string suitable for error messages and other reporting.

> Srcloc("demo.rhm", 1, 14, 500, 10).to_report_string()

"demo.rhm:1:14"