| 100 |
(* Raise Not_found if label is not necessarily present *) |
(* Raise Not_found if label is not necessarily present *) |
| 101 |
end |
end |
| 102 |
|
|
| 103 |
|
module Arrow : sig |
| 104 |
|
val any : descr |
| 105 |
|
|
| 106 |
val normalize : node -> node |
type t |
| 107 |
|
val get: descr -> t |
| 108 |
|
(* Always succeed; no check <= Arrow.any *) |
| 109 |
|
|
| 110 |
|
val domain: t -> descr |
| 111 |
|
val apply: t -> descr -> descr |
| 112 |
|
(* Always succeed; no check on the domain *) |
| 113 |
|
end |
| 114 |
|
|
| 115 |
val apply : descr -> descr -> descr |
|
| 116 |
|
val normalize : node -> node |
| 117 |
|
|
| 118 |
(** Subtyping and sample values **) |
(** Subtyping and sample values **) |
| 119 |
|
|