annotate lib/ur/string.urs @ 1388:3913cbfd72e9

String processing optimizations
author Adam Chlipala <adam@chlipala.net>
date Tue, 11 Jan 2011 14:03:54 -0500
parents 9df124fcab3d
children 9a721f0722d3
rev   line source
adamc@821 1 type t = string
adamc@821 2
adamc@1023 3 val str : char -> t
adamc@1023 4
adamc@828 5 val length : t -> int
adam@1388 6 val lengthGe : t -> int -> bool
adamc@828 7
adamc@828 8 val append : t -> t -> t
adamc@828 9
adamc@821 10 val sub : t -> int -> char
adamc@821 11 val suffix : t -> int -> string
adamc@829 12
adamc@829 13 val index : t -> char -> option int
adamc@829 14 val atFirst : t -> char -> option string
adamc@829 15
adamc@831 16 val mindex : {Haystack : t, Needle : t} -> option int
adamc@831 17
adamc@829 18 val substring : t -> {Start : int, Len : int} -> string
adamc@829 19
adamc@829 20 val split : t -> char -> option (string * string)
adamc@831 21 val msplit : {Haystack : t, Needle : t} -> option (string * char * string)
adamc@1057 22
adamc@1057 23 val all : (char -> bool) -> string -> bool
adamc@1131 24 val mp : (char -> char) -> string -> string
adamc@1122 25
adamc@1122 26 val newlines : ctx ::: {Unit} -> [[Body] ~ ctx] => string -> xml ([Body] ++ ctx) [] []
adamc@1174 27
adamc@1174 28 val isPrefix : {Full : t, Prefix : t} -> bool