123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123(*Generated by Lem from show.lem.*)(** [show.lem] exports the typeclass [Show] and associated functions for pretty
* printing arbitrary values.
*)openLem_functionopenLem_listopenLem_maybeopenLem_numopenLem_stringopenLem_string_extratype'ashow_class={show_method:'a->string}(** [string_of_unit u] produces a string representation of unit [u].
*)(*val string_of_unit : unit -> string*)letstring_of_unitu:string="()"letinstance_Show_Show_unit_dict:(unit)show_class=({show_method=string_of_unit})(** [string_of_bool b] produces a string representation of boolean [b].
*)(*val string_of_bool : bool -> string*)letstring_of_boolb:string=((matchbwith|true->"true"|false->"false"))letinstance_Show_Show_bool_dict:(bool)show_class=({show_method=string_of_bool})(** To give control over extraction as instances cannot be target specific, but
* the functions they are bound to can be...
*)(*val string_of_string : string -> string*)letstring_of_stringx:string=xletinstance_Show_Show_string_dict:(string)show_class=({show_method=string_of_string})(** [string_of_pair p] produces a string representation of pair [p].
*)(*val string_of_pair : forall 'a 'b. Show 'a, Show 'b => ('a * 'b) -> string*)letstring_of_pairdict_Show_Show_adict_Show_Show_b(left,right):string=("("^(dict_Show_Show_a.show_methodleft^(", "^(dict_Show_Show_b.show_methodright^")"))))letinstance_Show_Show_tup2_dictdict_Show_Show_adict_Show_Show_b:('a*'b)show_class=({show_method=(string_of_pairdict_Show_Show_adict_Show_Show_b)})(** [string_of_triple p] produces a string representation of triple [p].
*)(*val string_of_triple : forall 'a 'b 'c. Show 'a, Show 'b, Show 'c => ('a * 'b * 'c) -> string*)letstring_of_tripledict_Show_Show_adict_Show_Show_bdict_Show_Show_c(left,middle,right):string=("("^(dict_Show_Show_a.show_methodleft^(", "^(dict_Show_Show_b.show_methodmiddle^(", "^(dict_Show_Show_c.show_methodright^")"))))))letinstance_Show_Show_tup3_dictdict_Show_Show_adict_Show_Show_bdict_Show_Show_c:('a*'b*'c)show_class=({show_method=(string_of_tripledict_Show_Show_adict_Show_Show_bdict_Show_Show_c)})(** [string_of_quad p] produces a string representation of quad [p].
*)(*val string_of_quad : forall 'a 'b 'c 'd. Show 'a, Show 'b, Show 'c, Show 'd => ('a * 'b * 'c * 'd) -> string*)letstring_of_quaddict_Show_Show_adict_Show_Show_bdict_Show_Show_cdict_Show_Show_d(left,middle1,middle2,right):string=("("^(dict_Show_Show_a.show_methodleft^(", "^(dict_Show_Show_b.show_methodmiddle1^(", "^(dict_Show_Show_c.show_methodmiddle2^(", "^(dict_Show_Show_d.show_methodright^")"))))))))letinstance_Show_Show_tup4_dictdict_Show_Show_adict_Show_Show_bdict_Show_Show_cdict_Show_Show_d:('a*'b*'c*'d)show_class=({show_method=(string_of_quaddict_Show_Show_adict_Show_Show_bdict_Show_Show_cdict_Show_Show_d)})(** [string_of_maybe m] produces a string representation of maybe value [m].
*)(*val string_of_maybe : forall 'a. Show 'a => maybe 'a -> string*)letstring_of_maybedict_Show_Show_am:string=((matchmwith|None->"Nothing"|Somee->"Just "^dict_Show_Show_a.show_methode))letinstance_Show_Show_Maybe_maybe_dictdict_Show_Show_a:('aoption)show_class=({show_method=(string_of_maybedict_Show_Show_a)})(** [show_else s m] produces a string representation of maybe [m], using [s]
* in the case [m] = Nothing. *)(*val show_else : forall 'a. Show 'a => string -> maybe 'a -> string*)letshow_elsedict_Show_Show_asubstm:string=((matchmwithSomex->dict_Show_Show_a.show_methodx|None->subst))(** [string_of_nat m] produces a string representation of nat value [m].
*)(*val string_of_nat : nat -> string*)letinstance_Show_Show_nat_dict:(int)show_class=({show_method=Stdlib.string_of_int})letinstance_Show_Show_Num_natural_dict:(Nat_big_num.num)show_class=({show_method=Nat_big_num.to_string})(*val string_of_integer : integer -> string*)letinstance_Show_Show_Num_integer_dict:(Nat_big_num.num)show_class=({show_method=Nat_big_num.to_string})