doc-src/IsarImplementation/Thy/document/ML.tex
changeset 26854 9b4aec46ad78
parent 26460 21504de31197
child 28086 db584d1d2af4
equal deleted inserted replaced
26853:52cb0e965041 26854:9b4aec46ad78
   276 %
   276 %
   277 \isatagmlref
   277 \isatagmlref
   278 %
   278 %
   279 \begin{isamarkuptext}%
   279 \begin{isamarkuptext}%
   280 \begin{mldecls}
   280 \begin{mldecls}
   281   \indexml{NAMED-CRITICAL}\verb|NAMED_CRITICAL: string -> (unit -> 'a) -> 'a| \\
   281   \indexml{NAMED\_CRITICAL}\verb|NAMED_CRITICAL: string -> (unit -> 'a) -> 'a| \\
   282   \indexml{CRITICAL}\verb|CRITICAL: (unit -> 'a) -> 'a| \\
   282   \indexml{CRITICAL}\verb|CRITICAL: (unit -> 'a) -> 'a| \\
   283   \indexml{setmp}\verb|setmp: 'a ref -> 'a -> ('b -> 'c) -> 'b -> 'c| \\
   283   \indexml{setmp}\verb|setmp: 'a ref -> 'a -> ('b -> 'c) -> 'b -> 'c| \\
   284   \end{mldecls}
   284   \end{mldecls}
   285 
   285 
   286   \begin{description}
   286   \begin{description}
   485 \isatagmlref
   485 \isatagmlref
   486 %
   486 %
   487 \begin{isamarkuptext}%
   487 \begin{isamarkuptext}%
   488 \begin{mldecls}
   488 \begin{mldecls}
   489   \indexml{fold}\verb|fold: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b| \\
   489   \indexml{fold}\verb|fold: ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b| \\
   490   \indexml{fold-map}\verb|fold_map: ('a -> 'b -> 'c * 'b) -> 'a list -> 'b -> 'c list * 'b| \\
   490   \indexml{fold\_map}\verb|fold_map: ('a -> 'b -> 'c * 'b) -> 'a list -> 'b -> 'c list * 'b| \\
   491   \end{mldecls}%
   491   \end{mldecls}%
   492 \end{isamarkuptext}%
   492 \end{isamarkuptext}%
   493 \isamarkuptrue%
   493 \isamarkuptrue%
   494 %
   494 %
   495 \endisatagmlref
   495 \endisatagmlref
   620 %
   620 %
   621 \isatagmlref
   621 \isatagmlref
   622 %
   622 %
   623 \begin{isamarkuptext}%
   623 \begin{isamarkuptext}%
   624 \begin{mldecls}
   624 \begin{mldecls}
   625   \indexml{is-some}\verb|is_some: 'a option -> bool| \\
   625   \indexml{is\_some}\verb|is_some: 'a option -> bool| \\
   626   \indexml{is-none}\verb|is_none: 'a option -> bool| \\
   626   \indexml{is\_none}\verb|is_none: 'a option -> bool| \\
   627   \indexml{the}\verb|the: 'a option -> 'a| \\
   627   \indexml{the}\verb|the: 'a option -> 'a| \\
   628   \indexml{these}\verb|these: 'a list option -> 'a list| \\
   628   \indexml{these}\verb|these: 'a list option -> 'a list| \\
   629   \indexml{the-list}\verb|the_list: 'a option -> 'a list| \\
   629   \indexml{the\_list}\verb|the_list: 'a option -> 'a list| \\
   630   \indexml{the-default}\verb|the_default: 'a -> 'a option -> 'a| \\
   630   \indexml{the\_default}\verb|the_default: 'a -> 'a option -> 'a| \\
   631   \indexml{try}\verb|try: ('a -> 'b) -> 'a -> 'b option| \\
   631   \indexml{try}\verb|try: ('a -> 'b) -> 'a -> 'b option| \\
   632   \indexml{can}\verb|can: ('a -> 'b) -> 'a -> bool| \\
   632   \indexml{can}\verb|can: ('a -> 'b) -> 'a -> bool| \\
   633   \end{mldecls}%
   633   \end{mldecls}%
   634 \end{isamarkuptext}%
   634 \end{isamarkuptext}%
   635 \isamarkuptrue%
   635 \isamarkuptrue%
   697   \indexml{AList.lookup}\verb|AList.lookup: ('a * 'b -> bool) -> ('b * 'c) list -> 'a -> 'c option| \\
   697   \indexml{AList.lookup}\verb|AList.lookup: ('a * 'b -> bool) -> ('b * 'c) list -> 'a -> 'c option| \\
   698   \indexml{AList.defined}\verb|AList.defined: ('a * 'b -> bool) -> ('b * 'c) list -> 'a -> bool| \\
   698   \indexml{AList.defined}\verb|AList.defined: ('a * 'b -> bool) -> ('b * 'c) list -> 'a -> bool| \\
   699   \indexml{AList.update}\verb|AList.update: ('a * 'a -> bool) -> ('a * 'b) -> ('a * 'b) list -> ('a * 'b) list| \\
   699   \indexml{AList.update}\verb|AList.update: ('a * 'a -> bool) -> ('a * 'b) -> ('a * 'b) list -> ('a * 'b) list| \\
   700   \indexml{AList.default}\verb|AList.default: ('a * 'a -> bool) -> ('a * 'b) -> ('a * 'b) list -> ('a * 'b) list| \\
   700   \indexml{AList.default}\verb|AList.default: ('a * 'a -> bool) -> ('a * 'b) -> ('a * 'b) list -> ('a * 'b) list| \\
   701   \indexml{AList.delete}\verb|AList.delete: ('a * 'b -> bool) -> 'a -> ('b * 'c) list -> ('b * 'c) list| \\
   701   \indexml{AList.delete}\verb|AList.delete: ('a * 'b -> bool) -> 'a -> ('b * 'c) list -> ('b * 'c) list| \\
   702   \indexml{AList.map-entry}\verb|AList.map_entry: ('a * 'b -> bool) -> 'a|\isasep\isanewline%
   702   \indexml{AList.map\_entry}\verb|AList.map_entry: ('a * 'b -> bool) -> 'a|\isasep\isanewline%
   703 \verb|    -> ('c -> 'c) -> ('b * 'c) list -> ('b * 'c) list| \\
   703 \verb|    -> ('c -> 'c) -> ('b * 'c) list -> ('b * 'c) list| \\
   704   \indexml{AList.map-default}\verb|AList.map_default: ('a * 'a -> bool) -> 'a * 'b -> ('b -> 'b)|\isasep\isanewline%
   704   \indexml{AList.map\_default}\verb|AList.map_default: ('a * 'a -> bool) -> 'a * 'b -> ('b -> 'b)|\isasep\isanewline%
   705 \verb|    -> ('a * 'b) list -> ('a * 'b) list| \\
   705 \verb|    -> ('a * 'b) list -> ('a * 'b) list| \\
   706   \indexml{AList.join}\verb|AList.join: ('a * 'a -> bool) -> ('a -> 'b * 'b -> 'b) (*exception DUP*)|\isasep\isanewline%
   706   \indexml{AList.join}\verb|AList.join: ('a * 'a -> bool) -> ('a -> 'b * 'b -> 'b) (*exception DUP*)|\isasep\isanewline%
   707 \verb|    -> ('a * 'b) list * ('a * 'b) list -> ('a * 'b) list (*exception AList.DUP*)| \\
   707 \verb|    -> ('a * 'b) list * ('a * 'b) list -> ('a * 'b) list (*exception AList.DUP*)| \\
   708   \indexml{AList.merge}\verb|AList.merge: ('a * 'a -> bool) -> ('b * 'b -> bool)|\isasep\isanewline%
   708   \indexml{AList.merge}\verb|AList.merge: ('a * 'a -> bool) -> ('b * 'b -> bool)|\isasep\isanewline%
   709 \verb|    -> ('a * 'b) list * ('a * 'b) list -> ('a * 'b) list (*exception AList.DUP*)|
   709 \verb|    -> ('a * 'b) list * ('a * 'b) list -> ('a * 'b) list (*exception AList.DUP*)|
   744   \indexml{Symtab.defined}\verb|Symtab.defined: 'a Symtab.table -> string -> bool| \\
   744   \indexml{Symtab.defined}\verb|Symtab.defined: 'a Symtab.table -> string -> bool| \\
   745   \indexml{Symtab.update}\verb|Symtab.update: (string * 'a) -> 'a Symtab.table -> 'a Symtab.table| \\
   745   \indexml{Symtab.update}\verb|Symtab.update: (string * 'a) -> 'a Symtab.table -> 'a Symtab.table| \\
   746   \indexml{Symtab.default}\verb|Symtab.default: string * 'a -> 'a Symtab.table -> 'a Symtab.table| \\
   746   \indexml{Symtab.default}\verb|Symtab.default: string * 'a -> 'a Symtab.table -> 'a Symtab.table| \\
   747   \indexml{Symtab.delete}\verb|Symtab.delete: string|\isasep\isanewline%
   747   \indexml{Symtab.delete}\verb|Symtab.delete: string|\isasep\isanewline%
   748 \verb|    -> 'a Symtab.table -> 'a Symtab.table (*exception Symtab.UNDEF*)| \\
   748 \verb|    -> 'a Symtab.table -> 'a Symtab.table (*exception Symtab.UNDEF*)| \\
   749   \indexml{Symtab.map-entry}\verb|Symtab.map_entry: string -> ('a -> 'a)|\isasep\isanewline%
   749   \indexml{Symtab.map\_entry}\verb|Symtab.map_entry: string -> ('a -> 'a)|\isasep\isanewline%
   750 \verb|    -> 'a Symtab.table -> 'a Symtab.table| \\
   750 \verb|    -> 'a Symtab.table -> 'a Symtab.table| \\
   751   \indexml{Symtab.map-default}\verb|Symtab.map_default: (string * 'a) -> ('a -> 'a)|\isasep\isanewline%
   751   \indexml{Symtab.map\_default}\verb|Symtab.map_default: (string * 'a) -> ('a -> 'a)|\isasep\isanewline%
   752 \verb|    -> 'a Symtab.table -> 'a Symtab.table| \\
   752 \verb|    -> 'a Symtab.table -> 'a Symtab.table| \\
   753   \indexml{Symtab.join}\verb|Symtab.join: (string -> 'a * 'a -> 'a) (*exception Symtab.DUP/Symtab.SAME*)|\isasep\isanewline%
   753   \indexml{Symtab.join}\verb|Symtab.join: (string -> 'a * 'a -> 'a) (*exception Symtab.DUP/Symtab.SAME*)|\isasep\isanewline%
   754 \verb|    -> 'a Symtab.table * 'a Symtab.table|\isasep\isanewline%
   754 \verb|    -> 'a Symtab.table * 'a Symtab.table|\isasep\isanewline%
   755 \verb|    -> 'a Symtab.table (*exception Symtab.DUP*)| \\
   755 \verb|    -> 'a Symtab.table (*exception Symtab.DUP*)| \\
   756   \indexml{Symtab.merge}\verb|Symtab.merge: ('a * 'a -> bool)|\isasep\isanewline%
   756   \indexml{Symtab.merge}\verb|Symtab.merge: ('a * 'a -> bool)|\isasep\isanewline%