print_types_of_subterms : int ref
- SYNOPSIS
-
Flag controlling the level of printing types of subterms.
- DESCRIPTION
-
The reference variable print_types_of_subterms is one of several
settable parameters controlling printing of terms by pp_print_term, and hence
the automatic printing of terms and theorems at the toplevel.
When it is 0, pp_print_term does not print the types of subterms.
When it is 1, as it is by default, pp_print_term only prints types of subterms containing invented type variables.
When it is 2, pp_print_term prints the types of all constants and variables in the term.
- FAILURE CONDITIONS
-
Not applicable.
- EXAMPLE
-
# loadt "Library/words.ml";;
...
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term =
`(word_join:(64)word->(64)word->(?194629)word) (word 10) (word 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term = `word_join (word 10) (word 20)`
# print_types_of_subterms := 0;;
val it : unit = ()
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term = `word_join (word 10) (word 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term = `word_join (word 10) (word 20)`
# print_types_of_subterms := 2;;
val it : unit = ()
# `word_join (word 10:int64) (word 20:int64)`;;
Warning: inventing type variables
val it : term =
`(word_join:(64)word->(64)word->(?194609)word) ((word:num->(64)word) 10)
((word:num->(64)word) 20)`
# `word_join (word 10:int64) (word 20:int64):int128`;;
val it : term =
`(word_join:(64)word->(64)word->(128)word) ((word:num->(64)word) 10)
((word:num->(64)word) 20)`
- SEE ALSO
-
pp_print_term, type_invention_error, type_invention_warning