PreviousUpNext

14.4.82  Text

The standard library Text api defines access to functionality of seven different string-related packages: char, string, substring, vector_of_chars, rw_vector_of_chars, vector_slice_of_chars, rw_vector_slice_of_chars.

The Text api is implemented by the text package.

The Text api source code is in src/lib/std/src/text.api.

The above information is manually maintained and may contain errors.

api {    package char : api {
                       eqtype Char ;
                       eqtype String ;
                       from_int : Int -> Char;
                       to_int : Char -> Int;
                       min_char : Char;
                       max_char : Char;
                       max_ord : Int;
                       prior : Char -> Char;
                       next : Char -> Char;
                       < : (Char , Char) -> Bool;
                       <= : (Char , Char) -> Bool;
                       > : (Char , Char) -> Bool;
                       >= : (Char , Char) -> Bool;
                       compare : (Char , Char) -> Order;
                       scan : number_string::Reader((Char, X) ) -> number_string::Reader((Char, X) );
                       from_string : ?.string::String -> Null_Or(Char );
                       to_string : Char -> ?.string::String;
                       from_cstring : ?.string::String -> Null_Or(Char );
                       to_cstring : Char -> ?.string::String;
                       contains : String -> Char -> Bool;
                       not_contains : String -> Char -> Bool;
                       is_lower : Char -> Bool;
                       is_upper : Char -> Bool;
                       is_digit : Char -> Bool;
                       is_alpha : Char -> Bool;
                       is_hex_digit : Char -> Bool;
                       is_alphanumeric : Char -> Bool;
                       is_print : Char -> Bool;
                       is_space : Char -> Bool;
                       is_punct : Char -> Bool;
                       is_graph : Char -> Bool;
                       is_cntrl : Char -> Bool;
                       is_ascii : Char -> Bool;
                       to_upper : Char -> Char;
                       to_lower : Char -> Char;
                   };;
    package string : api {
                         eqtype Char ;
                         eqtype String ;
                         max_size : Int;
                         length : String -> Int;
                         get : (String , Int) -> Char;
                         _[] : (String , Int) -> Char;
                         extract : (String , Int , Null_Or(Int )) -> String;
                         substring : (String , Int , Int) -> String;
                         + : (String , String) -> String;
                         cat : List(String ) -> String;
                         join : String -> List(String ) -> String;
                         join' : String
                                 -> String -> String -> List(String ) -> String;
                         from_char : Char -> String;
                         implode : List(Char ) -> String;
                         explode : String -> List(Char );
                         chomp : String -> String;
                         map : (Char -> Char) -> String -> String;
                         translate : (Char -> String) -> String -> String;
                         tokens : (Char -> Bool) -> String -> List(String );
                         fields : (Char -> Bool) -> String -> List(String );
                         is_prefix : String -> String -> Bool;
                         is_substring : String -> String -> Bool;
                         is_suffix : String -> String -> Bool;
                         compare : (String , String) -> Order;
                         collate : ((Char , Char) -> Order)
                                   -> (String , String) -> Order;
                         to_lower : String -> String;
                         to_upper : String -> String;
                         to_mixed : String -> String;
                         has_alpha : String -> Bool;
                         has_lower : String -> Bool;
                         has_upper : String -> Bool;
                         is_alpha : String -> Bool;
                         is_upper : String -> Bool;
                         is_lower : String -> Bool;
                         is_mixed : String -> Bool;
                         < : (String , String) -> Bool;
                         <= : (String , String) -> Bool;
                         > : (String , String) -> Bool;
                         >= : (String , String) -> Bool;
                         from_string : ?.string::String -> Null_Or(String );
                         to_string : String -> ?.string::String;
                         from_cstring : ?.string::String -> Null_Or(String );
                         to_cstring : String -> ?.string::String;
                     };;
    package substring : api {
                            eqtype Char ;
                            eqtype String ;
                            Substring ;
                            get : (Substring , Int) -> Char;
                            size : Substring -> Int;
                            base : Substring -> (String , Int , Int);
                            extract : (String , Int , Null_Or(Int )) -> Substring;
                            make_substring : (String , Int , Int) -> Substring;
                            from_string : String -> Substring;
                            to_string : Substring -> String;
                            is_empty : Substring -> Bool;
                            getc : Substring -> Null_Or(((Char , Substring)) );
                            first : Substring -> Null_Or(Char );
                            drop_first : Int -> Substring -> Substring;
                            drop_last : Int -> Substring -> Substring;
                            make_slice : (Substring , Int , Null_Or(Int )) -> Substring;
                            cat : List(Substring ) -> String;
                            join : String -> List(Substring ) -> String;
                            join' : String
                                    -> String -> String -> List(Substring ) -> String;
                            explode : Substring -> List(Char );
                            is_prefix : String -> Substring -> Bool;
                            is_substring : String -> Substring -> Bool;
                            is_suffix : String -> Substring -> Bool;
                            compare : (Substring , Substring) -> Order;
                            collate : ((Char , Char) -> Order)
                                      -> (Substring , Substring) -> Order;
                            get_prefix : (Char -> Bool) -> Substring -> Substring;
                            get_suffix : (Char -> Bool) -> Substring -> Substring;
                            drop_prefix : (Char -> Bool) -> Substring -> Substring;
                            drop_suffix : (Char -> Bool) -> Substring -> Substring;
                            split_off_prefix : (Char -> Bool)
                                               -> Substring -> (Substring , Substring);
                            split_off_suffix : (Char -> Bool)
                                               -> Substring -> (Substring , Substring);
                            split_at : (Substring , Int) -> (Substring , Substring);
                            position : String -> Substring -> (Substring , Substring);
                            span : (Substring , Substring) -> Substring;
                            translate : (Char -> String) -> Substring -> String;
                            tokens : (Char -> Bool) -> Substring -> List(Substring );
                            fields : (Char -> Bool) -> Substring -> List(Substring );
                            apply : (Char -> Void) -> Substring -> Void;
                            fold_left : ((Char , X) -> X) -> X -> Substring -> X;
                            fold_right : ((Char , X) -> X) -> X -> Substring -> X;
                        };;
    package vector_of_chars : api {
                                  Vector ;
                                  Element ;
                                  max_len : Int;
                                  from_list : List(Element ) -> Vector;
                                  tabulate : (Int , (Int -> Element)) -> Vector;
                                  length : Vector -> Int;
                                  cat : List(Vector ) -> Vector;
                                  get : (Vector , Int) -> Element;
                                  set : (Vector , Int , Element) -> Vector;
                                  keyed_apply : ((Int , Element) -> Void) -> Vector -> Void;
                                  apply : (Element -> Void) -> Vector -> Void;
                                  keyed_map : ((Int , Element) -> Element) -> Vector -> Vector;
                                  map : (Element -> Element) -> Vector -> Vector;
                                  keyed_fold_left : ((Int , Element , X) -> X) -> X -> Vector -> X;
                                  keyed_fold_right : ((Int , Element , X) -> X) -> X -> Vector -> X;
                                  fold_left : ((Element , X) -> X) -> X -> Vector -> X;
                                  fold_right : ((Element , X) -> X) -> X -> Vector -> X;
                                  findi : ((Int , Element) -> Bool)
                                          -> Vector -> Null_Or(((Int , Element)) );
                                  find : (Element -> Bool) -> Vector -> Null_Or(Element );
                                  exists : (Element -> Bool) -> Vector -> Bool;
                                  all : (Element -> Bool) -> Vector -> Bool;
                                  collate : ((Element , Element) -> Order)
                                            -> (Vector , Vector) -> Order;
                              };;
    package rw_vector_of_chars : api {
                                     eqtype Rw_Vector ;
                                     Element ;
                                     Vector ;
                                     max_len : Int;
                                     make_rw_vector : (Int , Element) -> Rw_Vector;
                                     from_list : List(Element ) -> Rw_Vector;
                                     tabulate : (Int , (Int -> Element)) -> Rw_Vector;
                                     length : Rw_Vector -> Int;
                                     get : (Rw_Vector , Int) -> Element;
                                     _[] : (Rw_Vector , Int) -> Element;
                                     set : (Rw_Vector , Int , Element) -> Void;
                                     _[]:= : (Rw_Vector , Int , Element) -> Void;
                                     to_vector : Rw_Vector -> Vector;
                                     copy : {di:Int,  from:Rw_Vector,  to:Rw_Vector} -> Void;
                                     copy_vec : {di:Int,  from:Vector,  to:Rw_Vector} -> Void;
                                     keyed_apply : ((Int , Element) -> Void) -> Rw_Vector -> Void;
                                     apply : (Element -> Void) -> Rw_Vector -> Void;
                                     modifyi : ((Int , Element) -> Element) -> Rw_Vector -> Void;
                                     modify : (Element -> Element) -> Rw_Vector -> Void;
                                     keyed_fold_left : ((Int , Element , X) -> X) -> X -> Rw_Vector -> X;
                                     keyed_fold_right : ((Int , Element , X) -> X) -> X -> Rw_Vector -> X;
                                     fold_left : ((Element , X) -> X) -> X -> Rw_Vector -> X;
                                     fold_right : ((Element , X) -> X) -> X -> Rw_Vector -> X;
                                     findi : ((Int , Element) -> Bool)
                                             -> Rw_Vector -> Null_Or(((Int , Element)) );
                                     find : (Element -> Bool)
                                            -> Rw_Vector -> Null_Or(Element );
                                     exists : (Element -> Bool) -> Rw_Vector -> Bool;
                                     all : (Element -> Bool) -> Rw_Vector -> Bool;
                                     collate : ((Element , Element) -> Order)
                                               -> (Rw_Vector , Rw_Vector) -> Order;
                                 };;
    package vector_slice_of_chars : api {
                                        Element ;
                                        Vector ;
                                        Slice ;
                                        length : Slice -> Int;
                                        get : (Slice , Int) -> Element;
                                        make_full_slice : Vector -> Slice;
                                        make_slice : (Vector , Int , Null_Or(Int )) -> Slice;
                                        make_subslice : (Slice , Int , Null_Or(Int )) -> Slice;
                                        base : Slice -> (Vector , Int , Int);
                                        to_vector : Slice -> Vector;
                                        cat : List(Slice ) -> Vector;
                                        is_empty : Slice -> Bool;
                                        get_item : Slice -> Null_Or(((Element , Slice)) );
                                        keyed_apply : ((Int , Element) -> Void) -> Slice -> Void;
                                        apply : (Element -> Void) -> Slice -> Void;
                                        keyed_map : ((Int , Element) -> Element) -> Slice -> Vector;
                                        map : (Element -> Element) -> Slice -> Vector;
                                        keyed_fold_left : ((Int , Element , X) -> X) -> X -> Slice -> X;
                                        keyed_fold_right : ((Int , Element , X) -> X) -> X -> Slice -> X;
                                        fold_left : ((Element , X) -> X) -> X -> Slice -> X;
                                        fold_right : ((Element , X) -> X) -> X -> Slice -> X;
                                        findi : ((Int , Element) -> Bool)
                                                -> Slice -> Null_Or(((Int , Element)) );
                                        find : (Element -> Bool) -> Slice -> Null_Or(Element );
                                        exists : (Element -> Bool) -> Slice -> Bool;
                                        all : (Element -> Bool) -> Slice -> Bool;
                                        collate : ((Element , Element) -> Order)
                                                  -> (Slice , Slice) -> Order;
                                    };;
    package rw_vector_slice_of_chars : api {
                                           Element ;
                                           Rw_Vector ;
                                           Slice ;
                                           Vector ;
                                           Vector_Slice ;
                                           length : Slice -> Int;
                                           get : (Slice , Int) -> Element;
                                           set : (Slice , Int , Element) -> Void;
                                           make_full_slice : Rw_Vector -> Slice;
                                           make_slice : (Rw_Vector , Int , Null_Or(Int )) -> Slice;
                                           make_subslice : (Slice , Int , Null_Or(Int )) -> Slice;
                                           base : Slice -> (Rw_Vector , Int , Int);
                                           to_vector : Slice -> Vector;
                                           copy : {di:Int,  from:Slice,  to:Rw_Vector} -> Void;
                                           copy_vec : {di:Int,  from:Vector_Slice,  to:Rw_Vector} -> Void;
                                           is_empty : Slice -> Bool;
                                           get_item : Slice -> Null_Or(((Element , Slice)) );
                                           keyed_apply : ((Int , Element) -> Void) -> Slice -> Void;
                                           apply : (Element -> Void) -> Slice -> Void;
                                           modifyi : ((Int , Element) -> Element) -> Slice -> Void;
                                           modify : (Element -> Element) -> Slice -> Void;
                                           keyed_fold_left : ((Int , Element , X) -> X) -> X -> Slice -> X;
                                           keyed_fold_right : ((Int , Element , X) -> X) -> X -> Slice -> X;
                                           fold_left : ((Element , X) -> X) -> X -> Slice -> X;
                                           fold_right : ((Element , X) -> X) -> X -> Slice -> X;
                                           findi : ((Int , Element) -> Bool)
                                                   -> Slice -> Null_Or(((Int , Element)) );
                                           find : (Element -> Bool) -> Slice -> Null_Or(Element );
                                           exists : (Element -> Bool) -> Slice -> Bool;
                                           all : (Element -> Bool) -> Slice -> Bool;
                                           collate : ((Element , Element) -> Order)
                                                     -> (Slice , Slice) -> Order;
                                       };;
sharing vector_slice_of_chars::Slice =
        rw_vector_slice_of_chars::Vector_Slice
sharing rw_vector_slice_of_chars::Rw_Vector =
        rw_vector_of_chars::Rw_Vector
sharing rw_vector_slice_of_chars::Vector =
        vector_slice_of_chars::Vector = rw_vector_of_chars::Vector =
        vector_of_chars::Vector = substring::String =
        string::String = char::String
sharing rw_vector_slice_of_chars::Element =
        vector_slice_of_chars::Element =
        rw_vector_of_chars::Element = vector_of_chars::Element =
        substring::Char = string::Char = char::Char
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext