annotate lib/ur/string.urs @ 1256:d7d5b167f267

Avoid reimplementing conversion to C strings
author Adam Chlipala <adamc@hcoop.net>
date Sat, 15 May 2010 12:52:34 -0400
parents 9df124fcab3d
children 3913cbfd72e9
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
adamc@828 6
adamc@828 7 val append : t -> t -> t
adamc@828 8
adamc@821 9 val sub : t -> int -> char
adamc@821 10 val suffix : t -> int -> string
adamc@829 11
adamc@829 12 val index : t -> char -> option int
adamc@829 13 val atFirst : t -> char -> option string
adamc@829 14
adamc@831 15 val mindex : {Haystack : t, Needle : t} -> option int
adamc@831 16
adamc@829 17 val substring : t -> {Start : int, Len : int} -> string
adamc@829 18
adamc@829 19 val split : t -> char -> option (string * string)
adamc@831 20 val msplit : {Haystack : t, Needle : t} -> option (string * char * string)
adamc@1057 21
adamc@1057 22 val all : (char -> bool) -> string -> bool
adamc@1131 23 val mp : (char -> char) -> string -> string
adamc@1122 24
adamc@1122 25 val newlines : ctx ::: {Unit} -> [[Body] ~ ctx] => string -> xml ([Body] ++ ctx) [] []
adamc@1174 26
adamc@1174 27 val isPrefix : {Full : t, Prefix : t} -> bool