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

RVM produces list trees without layout in the regular productions #816

Closed
jurgenvinju opened this issue May 22, 2015 · 1 comment
Closed

Comments

@jurgenvinju
Copy link
Member

I think I work around this now by introducing a bug in the subtype implementation at run-time, but it is not type correct behavior and will lead to subtle bugs elsewhere in the future.

After pattern matching a list out of something, like ... <{A ","}* l> ... the l will be bound to appl(regular(\iter-seps(sort("A"),[lit(",")])), ... instead of the correct appl(regular(\iter-seps(sort("A"),[layouts(...),lit(","),layouts(...)])), .... This is due to the auto-wrapping code which the compiler has to generate into the pattern matcher which should know the right regular prod to apply. It seems the layout separators are either not introduced yet there or they have been removed again (it depends on the inner workings of the type checker). Please help.

@jurgenvinju
Copy link
Member Author

perhaps we should add a constructor declaration for regular as well, because the normal productions seem to be having the right layout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant