-
Notifications
You must be signed in to change notification settings - Fork 37
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
type equality from Elpi to Elpi_parser #277
Comments
A small test program compiles with dune, with (libraries elpi elpi.parser). This links the modules to the program, but not to each other: within API.ml, there is the error “unbound module Elpi_parser”; and the equality “type program = Ast.Program.t” has a similar error. So, I assume this is probably an issue with the dune build. Please let me know if I should provide more information. Thank you. |
Hello, there is no API for that. What I suggest is that you temporarily remove the private_modules directive in src/dune then edit src/elpi.ml so to expose all modules in Internal and finally use Elpi.Internal.Whatever you like. You could also give me a pointer to your code so that I see exactly what you need. |
private_modules directive was removed in #269 |
Apologies for not replying. Your suggestion worked. Thank you for the help. |
Hello, thanks for this great project. Much of the setup is new to me, so this issue might have a simple resolution. I’m trying to add a new REPL command that iterates through the declarations of a parsed program.
List.iter (fun (d : Ast.Program.decl) -> … [[some printing]] … ) p;
But it doesn’t seem to recognize the type equality:
“p has type API.Ast.program, but expected type Ast.Program.decl list”
I assume this is because API is in Elpi, while Ast is in Elpi_parser; somehow the equality is not working across packages. I could clone and build the whole project with my own; but there is probably a simpler solution. Any help is appreciated.
The text was updated successfully, but these errors were encountered: