diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-04-02 15:53:35 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-04-09 11:52:17 +0200 |
commit | 8d69323dff6e1afd17a13dfa8a980e76acb44cdc (patch) | |
tree | 18c6e4a6d2ebca4743bd717d357ef67d610ff871 /kernel/constr.ml | |
parent | 70930579d8454a4ff50ee0ea1e97a55863bf01f6 (diff) |
Documenting how the recursive indices of a fixpoint are computed.
Also documenting how the implicit arguments by position are computed.
Diffstat (limited to 'kernel/constr.ml')
-rw-r--r-- | kernel/constr.ml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/constr.ml b/kernel/constr.ml index ce20751ab..d0c580d13 100644 --- a/kernel/constr.ml +++ b/kernel/constr.ml @@ -107,7 +107,16 @@ type constr = t type existential = existential_key * constr array type rec_declaration = Name.t array * constr array * constr array type fixpoint = (int array * int) * rec_declaration + (* The array of [int]'s tells for each component of the array of + mutual fixpoints the number of lambdas to skip before finding the + recursive argument (e.g., value is 2 in "fix f (x:A) (y:=t) (z:B) + (v:=u) (w:I) {struct w}"), telling to skip x and z and that w is + the recursive argument); + The second component [int] tells which component of the block is + returned *) type cofixpoint = int * rec_declaration + (* The component [int] tells which component of the block of + cofixpoint is returned *) type types = constr |