| 1 |
type t = Types.descr
|
| 2 |
|
| 3 |
val get : Types.descr -> t
|
| 4 |
(**
|
| 5 |
Extract when possible a simpler type which is ``trivially'' non-empty.
|
| 6 |
This subtype is built from scalar and intersection of simple arrow types
|
| 7 |
using products, XML elements and records, without recursion nor
|
| 8 |
boolean combination.
|
| 9 |
|
| 10 |
The simpler type is not a subtype because of arrows and records.
|
| 11 |
|
| 12 |
Interpretation of this subtype, to extract sample values:
|
| 13 |
- basic type: pick a value
|
| 14 |
- open record type: add some extra field not listed
|
| 15 |
- intersection of arrow types: any abstraction with this interface
|
| 16 |
|
| 17 |
Raises Not_found for an empty type
|
| 18 |
**)
|
| 19 |
|
| 20 |
val print : Format.formatter -> t -> unit
|