Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Too many parens required in first class module syntax #7216

Closed
vicuna opened this issue Apr 7, 2016 · 5 comments

Comments

Projects
None yet
2 participants
@vicuna
Copy link

commented Apr 7, 2016

Original bug ID: 7216
Reporter: @sliquister
Assigned to: @garrigue
Status: resolved (set by @garrigue on 2016-12-13T08:25:19Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 4.02.3
Target version: 4.03.1+dev
Fixed in version: 4.05.0 +dev/beta1/beta2/beta3/rc1
Category: ~DO NOT USE (was: OCaml general)
Monitored by: @diml @hcarty

Bug description

include A(val x);;

Error: Syntax error

include A((val x));;

Error: Unbound value x

File attachments

@vicuna

This comment has been minimized.

Copy link
Author

commented Apr 8, 2016

Comment author: @garrigue

This is originally designed to avoid any syntactic conflict between the core and module levels.
I see at least two way it could be improved:

  • By allowing to omit the parenthesis where there is no (potential) ambiguity, i.e. everywhere except functor positions.
    In theory it's ok, but one would have to fix the conflicts by hand. Painful.
  • Just remove the need for double parentheses.
    I.e. create a paren_module_expr non-terminal, which can be used directly as argument to a functor.

The second option is much simpler. I include a patch that seems to work.

@vicuna

This comment has been minimized.

Copy link
Author

commented Sep 14, 2016

Comment author: @sliquister

I ran into this issue of having to write double parens again. Any chance this patch can be merged? The patch looks good to me (the error case that's removed is now covered by an error case that was there for parenthesized module expr, if someone is curious), and it works as intended.

@vicuna

This comment has been minimized.

Copy link
Author

commented Dec 12, 2016

Comment author: @mshinwell

@sliquister Please provide a Github PR with the patch, thanks.

@vicuna

This comment has been minimized.

Copy link
Author

commented Dec 13, 2016

Comment author: @garrigue

This is #949 (almost ready to merge).

@vicuna

This comment has been minimized.

Copy link
Author

commented Dec 13, 2016

Comment author: @garrigue

#949 merged at commit d8fc8dc.

@vicuna vicuna closed this Dec 13, 2016

@vicuna vicuna added this to the 4.03.1 milestone Mar 14, 2019

@vicuna vicuna added the bug label Mar 20, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.