diff options
author | Gabriel Scherer <gabriel.scherer@gmail.com> | 2014-03-21 13:27:07 +0000 |
---|---|---|
committer | Gabriel Scherer <gabriel.scherer@gmail.com> | 2014-03-21 13:27:07 +0000 |
commit | 3d1c1adaf392f1c740c8c2015b9d1032ef3226c5 (patch) | |
tree | dc1e685b9f8aaf3f12e961ddcc253aab1397dec7 /bytecomp/lambda.mli | |
parent | eeae918f35cacae1c6f13126199ef49eae89d971 (diff) |
Factor out the grammar productions for functor parameters
(Patch by Jeremy Yallop)
Functor parameters can occur in three contexts:
(1) in functor bindings:
module M (X : S) (Y : T) = ...
(2) in anonymous functor expressionms:
functor (X : S) (Y : T) -> ...
(3) in signature expressions
module type T = functor (X : S) (Y : T) -> ...
This patch simplifies the grammar by using common productions
(functor_arg, functor_args) to handle all three contexts, and by
combining the productions for named and unnamed parameters.
As a side effect, unnamed functor arguments are now available in
functor bindings:
module M (_ : S) (_ : T) = ...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14478 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'bytecomp/lambda.mli')
0 files changed, 0 insertions, 0 deletions