adamc@821: type t = Basis.string adamc@821: adamc@828: val length = Basis.strlen adamc@828: val append = Basis.strcat adamc@828: adamc@821: val sub = Basis.strsub adamc@821: val suffix = Basis.strsuffix adamc@829: adamc@829: val index = Basis.strindex adamc@829: val atFirst = Basis.strchr adamc@829: adamc@829: fun substring s {Start = start, Len = len} = Basis.substring s start len adamc@829: adamc@829: fun split s ch = adamc@829: case index s ch of adamc@829: None => None adamc@829: | Some i => Some (substring s {Start = 0, Len = i}, adamc@829: substring s {Start = i + 1, Len = length s - i - 1})