#lang sml (* * (c) Andreas Rossberg 1999-2007 * * Helpers for handling source strings *) signature SOURCE = sig type source = string type pos = {abs : int, lin : int, col : int} type region = {left : pos, right : pos} type info = {file : string option, region : region} exception Error of (int * int) * string val nowherePos : pos val nowhere : info val over : info * info -> info val between : info * info -> info val compare : info * info -> order end